给定代码
@POST
public void doSomething() {}
我怎样才能让它同时接受@PUT 请求?我目前唯一想到的是
@POST
public void doSomething() {}
@PUT
public void doSomethingPut() {
doSomething();
}
但我真的不喜欢这种方法。
给定代码
@POST
public void doSomething() {}
我怎样才能让它同时接受@PUT 请求?我目前唯一想到的是
@POST
public void doSomething() {}
@PUT
public void doSomethingPut() {
doSomething();
}
但我真的不喜欢这种方法。
是的,您可以使用PostReplaceFilter
( com.sun.jersey.api.container.filter
) 并将其配置为将该 PUT 更改为 POST。
正如文档所述,它是一个过滤器,支持 HTTP 方法将 POST 请求替换为使用另一种 HTTP 方法的请求,以防代理或 HTTP 服务器以其他方式阻止该 HTTP 方法。
此过滤器可用于将 POST 请求替换为 PUT 或 DELETE 请求。
如果请求方法是 POST 并且存在具有非空值的请求标头“X-HTTP-Method-Override”,则会发生替换。该值将是替换 POST 方法的 HTTP 方法。
当应用程序部署为 Servlet 或过滤器时,可以使用以下初始化参数注册此 Jersey 过滤器:
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
<param-value>com.sun.jersey.api.container.filter.PostReplaceFilter</param-value>
</init-param>
检查您的泽西版本,但这里有一个示例链接。 https://jersey.java.net/apidocs/1.9/jersey/com/sun/jersey/api/container/filter/PostReplaceFilter.html