Swagger UI和播放路由*路径

时间:2015-08-24 15:53:51

标签: java routing playframework-2.0 swagger swagger-ui

我在Swagger理解Play时遇到麻烦! 2.0路由通配符路由,因此swagger ui最终会出现URL损坏。 我的路线文件有这条路线:

GET           /settings/api/:project/*path                       @controllers.API.getParams(project, path)

然后我的Controller有以下代码:

@ApiOperation(value = "Returns settings for given project and path.", response = String.class, httpMethod = "GET")
@ApiResponses(value = {
        @ApiResponse(code = 200, message = "Request completed successfully."),
        @ApiResponse(code = 500, message = "Internal error while processing request")
})
@ApiImplicitParams({
        @ApiImplicitParam(name = "project", value = "Project name", required = true, dataType = "String", paramType = "path"),
        @ApiImplicitParam(name = "path", value = "path", required = true, dataType = "String", paramType = "path")
})
public Result getParams(String project, String path) {
    return ok(path);
}

然后,当Swagger UI被渲染时,我看到此动作的路径呈现为

POST /settings/api/{project}/{path<.+>

当我打电话时,它会变成

/settings/api/test/{path<.+>

所以基本上:项目被替换但是*路径仍然被破坏/完好无损。 如果您知道如何解决此问题,请分享。谢谢!

1 个答案:

答案 0 :(得分:0)

事实证明,招摇不支持通配符路径。