资源URL内的Swagger(喷射)路径参数

Die*_*oia 5 scala spray swagger

假设我有一个参数化的资源网址

/customers/{CUSTOMER-ID}/ownedItems/{ITEM-ID}
Run Code Online (Sandbox Code Playgroud)

我应该如何注释/拆分我的喷涂路径(使用spray-swagger插件)生成一个文档,将{CUSTOMER-ID}识别为正确的路径参数?

我的问题是顶级@Api注释采用路径但没有参数,而@ApiOperation可以使用路径参数进行注释,但最后会附加这些参数.换句话说,如果我写:

@Api(value = "/customers/{CUSTOMER-ID}")

@ApiOperation(httpMethod = "GET")
@ApiImplicitParams(Array(
new ApiImplicitParam(name = "ITEM-ID", required = true, dataType = "string", paramType = "path"))
Run Code Online (Sandbox Code Playgroud)

我在UI中仅将ITEM-ID作为可测试参数,而CUSTOMER-ID在报告为{}时只是一个字符串.

我想要两个都是路径参数的东西.

任何的想法?

Nel*_* G. 0

customers是您的 @Api 入口点,而不是路径参数。路径参数只能在 @ApiOperation 中使用,如下所示(有更多示例):

@Api(value = "/customers")

@ApiOperation(value = "/{CUSTOMER-ID}/ownedItems/{ITEM-ID}", httpMethod = "GET")
@ApiImplicitParams(Array(
  new ApiImplicitParam(name = "CUSTOMER-ID", required = true, dataType = "string", paramType = "path"),
  new ApiImplicitParam(name = "ITEM-ID", required = true, dataType = "string", paramType = "path"))

@ApiOperation(value = "/{CUSTOMER-ID}", httpMethod = "GET")
@ApiImplicitParams(Array(
  new ApiImplicitParam(name = "CUSTOMER-ID", required = true, dataType = "string", paramType = "path"))

@ApiOperation(value = "/", httpMethod = "POST")
Run Code Online (Sandbox Code Playgroud)