如何自定义HTTP标头添加到JAX-RS的反应? [英] How to add custom HTTP Header to JAX-RS response?

查看:307
本文介绍了如何自定义HTTP标头添加到JAX-RS的反应?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想自定义HTTP标头添加到了Apache CXF响应。我需要从内容计算MD5和其添加为HTTP标头。我试图用ResponseHandler所或拦截。我最后的尝试是

I'm trying to add custom HTTP header to response in Apache CXF. I need to count MD5 from content and add it as a HTTP header. I tried to use ResponseHandler or Interceptor. My last try was

@Component
public class ResponseBPAuthFilter extends AbstractOutDatabindingInterceptor {


   public ResponseBPAuthFilter() {
       super(Phase.MARSHAL_ENDING);
   }


   @Override
   public void handleMessage(Message t) throws Fault {

       Map headers = CastUtils.cast((Map)t.get(Message.PROTOCOL_HEADERS));
       headers.put("Some-Header", Arrays.asList("test"));

   }

}

但不起任何作用。

but it does nothing.

推荐答案

尝试添加响应对象作为返回值,在这里你可以设置标题..

Try to add Response Object as your return value where you can set Headers..

Response.ok(/* some entity */).header("CustomHeader", "CustomValue").build();

您不需要使用拦截器

这篇关于如何自定义HTTP标头添加到JAX-RS的反应?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆