赞
踩
微服务框架势必要面临用户鉴权问题,如在搭建系统应用时必须要考虑什么资源可以公开,什么资源只有系统用户才可以访问?
本文针对Jersey框架,就REST资源的用户鉴权提供可行的解决思路,以简洁方便的注解形式实现。
当你想要修改请求或响应参数,如HTTP请求响应头,可以使用过滤器来完成任务。例如,希望添加一个响应头X-Powered-By 到每个生成的响应中,可以使用ResponseFilter来完成添加。(例子来自官方文档)
@Provider
@PreMatching
public class PoweredByResponseFilter implements ContainerResponseFilter{
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
throws IOException {
responseContext.getHeaders().add("X-Powered-By", "Jersey :-)");
}
}
ResponseFilter必须继承于ContainerResponseFilter,而且必注册为Provider,通过@Provider注解定义的Filter。 ResponseFilter 会被执行,即使资源方法没有执行。Filter()方法有两个参数,ContainerRequest以及ContainerResponse,分别用来读取请求参数以及写入响应参数。
被@NameBinding注解修饰的注解是元注解,可以注解其它注解,其他注解具体实现后才可以分配给一个资源方法。
使用J
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。