【发布时间】:2018-04-19 10:44:50
【问题描述】:
@Override
public Promise<Result> call(Http.Context ctx) throws java.lang.Throwable {
Promise<Result> result = this.delegate.call(ctx);
Http.Response response = ctx.response();
response.setHeader("Access-Control-Allow-Origin", "*");
return result.map(r -> {
play.api.mvc.Result res = r.toScala();
final int status = r.toScala().header().status();
if(status == 200 || status == 201) {
String responseBody = new String(JavaResultExtractor.getBody(r, 0L));
final Map<String,String> headers = JavaResultExtractor.getHeaders(r);
ResponseHeader responseHeader = res.header();
return new Result(responseHeader, res.body());
}
return r;
});
}
我想修改拦截器的响应正文?我可以得到结果体。这样我就会修改响应。如何将现有的正文响应和结果覆盖为 Result。
【问题讨论】:
-
可以通过Action组合stackoverflow.com/questions/24753876/…访问响应对象
标签: interceptor playframework-2.3