在较早的Play中!版本(如2.3),可以修改所有响应的标头,如
public class WithMyPHeaderAction extends Action<WithMyPHeader> {
@Override
public CompletionStage<Result> call(Context ctx) {
ctx.response().setHeader("any", "value");
return delegate.call(ctx);
}
}
我如何通过Play做到这一点!在Java中不使用2.7(不推荐使用ctx.response()从2.7开始不推荐使用)?
您不需要执行此操作。在控制器中,您可以:
return ok().withHeader("any", "value");
如果必须在Action中执行相同操作:
return delegate.call(req).thenApply(r -> r.withHeader("any", "value");