ProcessMaker 4以后的版本集成了 Swagger ,安装完后访问:你的url+/api/documentation,就可以查阅 Swagger 自动生成的 Api 文档,比如:http://flow.www.codesou.cn/api/documentation。

但是我在安装完后,访问 Api 文档网址却无法打开,通过 Web 控制台工具查看发现有如下错误:

既然是404,那么很大可能是路径问题或者 url rewrite 导致的。经过检查发现这是由于 nginx 缓存配置导致的问题,nginx 中有如下配置:

location ~ .*.(js|css)?$
{
    expires      12h;
    error_log /dev/null;
    access_log /dev/null;
}

为了保持浏览器缓存在 nginx 端正常工作,要在配置中加入一句代码:try_files $uri /index.php,这样就可以正常加载API 文档,同时 nginx 缓存配置也保持不变。

location ~ .*.(js|css)?$
{
    try_files $uri /index.php;
    expires      12h;
    error_log /dev/null;
    access_log /dev/null;
}