是否允许@Get @Post或其他@HttpMethod使用相同的REST服务方法?我知道Jersey返回异常,但我只想知道JAX-RS API,没有别的。
JAX-RS API是否允许这样做?
编辑:我问这个问题,因为我在规范或文档中没有找到任何相关内容。
答案 0 :(得分:3)
http://download.oracle.com/otndocs/jcp/jaxrs-2_0_rev_A-mrel-spec/index.html处的JAX-RS规范似乎根本没有指定这种情况。在3.3节中,它说" 资源方法是用 a 请求方法指示符"注释的资源类的方法。 - 我强调的是" a"。 @Get和@POST是请求方法指示符的示例。 第3.7.2节描述了如何选择响应请求的方法,只是过滤掉支持请求方法的方法"。
所以我认为你在规范中发现了一个灰色区域,显然JAX-RS的参考实现的创建者选择不支持你的用例。
你需要重构:
@GET
public void yourGetMethod() {
yourMethod();
}
@POST
public void yourPostMethod() {
yourMethod();
}
public void yourMethod(...