1.踩过的雷
1.1 sofaresponce
好像是没有setheader方法
1.2 httpheaders
结果:直接把存入header中的参数返回到json里,而不是我想要的返回header中
1.3 httpservletresponse
这有两个坑,
1.3.1对于sofa来说,在形参中写HttpServletResponce,请求404
1.3.2实例化获取到的responce为空
2.解决办法:翻源码
2.1阿里的RestServer.class中,有ResteasyProviderFactory,可以通过这个获取HttpResponse或HttpRequest
ResteasyProviderFactory.getContextData(HttpResponse.class)
完整代码
ResteasyProviderFactory.getContextData(HttpResponse.class).getOutputHeaders().putSingle("tokenkey","value");
同样,获取HttpRequest
ResteasyProviderFactory.getContextData(HttpRequest.class)
完整代码,获取请求头内容
ResteasyProviderFactory.getContextData(HttpRequest.class).getHttpHeaders().getHeaderString("tokenheader");
2.2 这里的HTTP,是org.jboss下的