我想知道是否可以为每个匹配的 HTTP 请求调用一个方法。
我的情况: 我需要在 http header 中发送地理位置数据,我发送了请求,它匹配定义的操作,同时我的地理位置得到更新。
我可以轻松地为每个类中的每个方法复制一个方法调用,但我宁愿找到更合适的方法来解决这个问题。
感谢阅读。
最佳答案
您正在寻找的是 Jersey ResponseFilter。这是一个非常简单的示例,它向每个传出请求添加一个静态 header :
package my.package;
import com.sun.jersey.spi.container.ContainerRequest;
import com.sun.jersey.spi.container.ContainerResponse;
import com.sun.jersey.spi.container.ContainerResponseFilter;
public class SimpleFilter implements ContainerResponseFilter
{
private static final String HEADER = "MyHeader";
public SimpleFilter()
{
}
@Override
public ContainerResponse filter(final ContainerRequest request, final ContainerResponse response)
{
response.getHttpHeaders().add(HEADER, "MyValue");
return response;
}
}
您可以通过 filter
方法的 request
和 response
参数访问各种信息。
您需要通过 web.xml 文件添加过滤器以激活它:
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
<param-value>my.package.SimpleFilter</param-value>
</init-param>
关于java - Java Jersey 中的地理位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17425289/