TLDR:多个路径参数和带Swagger的端点
我想要的是一些像这样的API端点:
/foo/{id}/bar
现在afaik foo
或路径中的第一个节点正在定义端点以及aqcuire的资源。因此生成FooApiServiceImpl。
生成的ProjectsApiService存根看起来像这个atm:
@GET
@Path("/{id}/bars")
...
public Response getBarsByFooId(@ApiParam(value = "The id of the foo with the bars",required=true ) @PathParam("id") String id)
throws NotFoundException {
return delegate.getBarByFooId(id);
}
现在我希望的行为是获取与给定Bar
连接到Foo
的所有{id}
资源。有点像相反的顺序。这有可能吗?
如果这是不可能的......那么还想问一下,我如何获得未在括号中定义为{xxx}
参数的url节点(foo,bar)?
这样的事情:
public Response getBarsByFooId(String foo, String id, String bar)
throws NotFoundException {
return delegate.getBarByFooId(id);
}
答案 0 :(得分:0)
要获取路径段,请在资源类或方法中注入UriInfo
:
<meta property="article:author" content="https://www.facebook.com/MYSITE" />
<meta property="article:publisher" content="https://www.facebook.com/MYSITE" />
然后从中调用UriInfo.getPathSegments()
:
@Context
private UriInfo uriInfo;
请参阅UriInfo.getPathSegments()
文档:
获取当前请求相对于基URI的路径作为
PathSegment
的列表。 当需要解析路径时,此方法很有用,特别是当路径中可能存在矩阵参数时。路径段和矩阵参数值中的所有转义八位字节序列都将被解码,相当于getPathSegments(true)
。