我有 RESTEasy (JAX-RS) 服务器,大约有 60 个服务(到目前为止)。我想使用服务器构建时间自动向提供者调用者注入(inject)自定义响应 header :X-BuildTime: 20100335.1130
.
有没有一种简单的方法可以在不修改我的每项服务的情况下做到这一点?
我正在尝试使用实现 org.jboss.resteasy.spi.interception.PostProcessInterceptor
的类带注释@Provider
和 @ServerInterceptor
,但我不知道如何修改传递给我的 postProcess()
的 ServerResponse方法。
最佳答案
使用 javax.ws.rs.core.Response 怎么样?这样,您可以在创建响应数据的同一位置设置 header 。
@GET
@Path("/test")
@Produces(MediaType.APPLICATION_JSON)
public Response test( ){
HashMap<String,String> ret = new HashMap<String,String>();
ret.put("foo","bar");
return Response
.status(Response.Status.OK)
.entity(ret)
.header("X-say", "Hello world!")
.build();
}
关于web-services - 在 RESTEasy JAX-RS 中注入(inject)自定义响应 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5434655/