0
我想知道是否有可能为每个匹配的HTTP请求调用方法。Java中的地理定位泽西岛
我的情况: 我需要发送http头中的地理位置数据,我发送请求,它匹配定义的操作,同时我的地理位置已更新。
我可以轻松地为每个类中的每个方法复制一个方法调用,但我宁愿找到解决此问题的更合适的方法。
谢谢您的阅读。
我想知道是否有可能为每个匹配的HTTP请求调用方法。Java中的地理定位泽西岛
我的情况: 我需要发送http头中的地理位置数据,我发送请求,它匹配定义的操作,同时我的地理位置已更新。
我可以轻松地为每个类中的每个方法复制一个方法调用,但我宁愿找到解决此问题的更合适的方法。
谢谢您的阅读。
您正在寻找的是Jersey ResponseFilter。下面是增加了一个静态报头到每个传出请求一个非常简单的例子:
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;
}
}
你可以通过request
和response
参数访问各种信息提供给filter
方法。
你需要通过你的web.xml文件中添加过滤器来激活它:
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
<param-value>my.package.SimpleFilter</param-value>
</init-param>
完美JGM,非常感谢你的帮助。 Upvoted! – HeWhoCodes