是否可以全局设置我的REST标头? 我试图结合一些JAX-RS技巧,但没有效果。
我所有的REST服务都具有这些注释:
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
和
@Consumes(MediaType.APPLICATION_JSON + ";charset=utf-8")
最后我想要的是标题:
Accept:[application/json]
Content-Type:[application/json;charset=utf-8]
...仅通过配置,无需接触REST类。 有没有简单的方法可以实现这一目标?
答案 0 :(得分:0)
是的,您可以轻松地做到这一点。创建一个BaseResource类,并将其扩展到为端点创建类的任何地方。
public abstract BaseResource {
@HeaderParam("username")
private String username;
@HeaderParam("user-ip")
private String userIp;
public String getUserAccount () {
return userAccount;
}
public final String getUserIP() {
return userIp;
}
}
使用这些方法,您可以轻松访问标头值。
答案 1 :(得分:0)
好吧,没有外界的帮助,所以我做到了:)
我使用了HttpServletResponseWrapper
中的javax.servlet.http
来设置标题。
我还使用了FilterChain
中的javax.servlet
,以确保不要让其他人敲门:)