【发布时间】:2010-10-10 21:15:27
【问题描述】:
我有一个 JAX-RS Web 服务,我想通过新的CORS HTTP 标头禁用同源策略。 (我完全了解安全隐患。)
我想要一个自定义注释,让我可以设置 HTTP 响应标头。例如,
@ResponseHeaders({"Access-Control-Allow-Origin: *",
"Access-Control-Allow-Methods: GET"})
// Or, alternatively:
@AllowOrigins({"*"})
public String resourceMethod() { ... }
这种方法可以最大限度地减少样板代码,但我不确定是否存在细微的技术限制; JAX-RS 提供了许多注解来处理 HTTP 请求而不是响应,@Produces 似乎是唯一的例外。
如果可能的话,我也希望远离过多的 web.xml 配置。没有明确需要使用ResponseBuilder(如果注释使用一个也可以),是否有一种干净的方法来设置自定义 HTTP 响应标头?
为了澄清,我正在寻找与设置 HTTP 响应标头的各种方法相集成的 注释,以最大限度地减少样板代码。
【问题讨论】:
-
我正在寻找更精简的东西;使用 HttpServletResponse 的注释可能会起作用。不过,我不确定 javax.ws.rs.Response 和 HttpServletResponse 之间的微妙之处。
标签: java annotations jax-rs