Web services 虚张声势、端点和路径参数

Web services 虚张声势、端点和路径参数,web-services,rest,jax-rs,swagger,Web Services,Rest,Jax Rs,Swagger,TLDR:多个带有Swagger的路径参数和端点 我想要的是一些API端点,如下所示: /foo/{id}/bar public Response getBarsByFooId(String foo, String id, String bar) throws NotFoundException { return delegate.getBarByFooId(id); } 现在,afaikfoo或路径中的第一个节点正在定义端点以及aqcuire的资源。因此,将生成一个fooapise

TLDR:多个带有Swagger的路径参数和端点

我想要的是一些API端点,如下所示:

/foo/{id}/bar
public Response getBarsByFooId(String foo, String id, String bar)
throws NotFoundException {
    return delegate.getBarByFooId(id);
}
现在,afaik
foo
或路径中的第一个节点正在定义端点以及aqcuire的资源。因此,将生成一个fooapiserviceinpl

生成的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);
}
现在,我希望的行为是获得所有连接到
Foo
Bar
资源,这些资源具有给定的
{id}
。有点像相反的顺序。这有可能吗

如果这是不可能的。。。然后,我还想问,如何获得未定义为括号中的
{xxx}
参数的url节点(foo,bar)

大概是这样的:

/foo/{id}/bar
public Response getBarsByFooId(String foo, String id, String bar)
throws NotFoundException {
    return delegate.getBarByFooId(id);
}

要获取路径段,请在资源类或方法中插入:

@Context
私人UriInfo UriInfo;
然后从中调用:

List segments=uriInfo.getPathSegments();

请参阅文档:

获取当前请求相对于基本URI的路径,作为请求列表当需要解析路径时,此方法非常有用,尤其是当路径中可能存在矩阵参数时。解码路径段中的所有转义八位字节序列和矩阵参数值,相当于