从 JAX-RS 服务发送重定向

2022-09-01 05:13:05

是否可以将 JAX-RS Web 服务重定向到另一个网页?

就像你对Servlet所做的那样。response.sendRedirect("http://test/test.html")

JAX-RS Web 服务本身应该重定向。如果相关的话,我正在使用RESTEasy。


答案 1

是的,如果您的返回类型是(或)https://eclipse-ee4j.github.io/jersey.github.io/apidocs/1.19.1/jersey/javax/ws/rs/core/Response.html,则可以在泽西岛或任何 JAX-RS 实现(包括 RestEasy)执行此操作ResponseHttpServletResponse

您可以使用以下任一方法:

Response.temporaryRedirect(URI)

Response.seeOther(URI)

“临时重定向”返回 307 状态代码,而“查看其他”返回 303。


答案 2

对于那些像我一样寻找302的人来说,落在这个答案上。

通过查看代码

Response.temporaryRedirect(URI)

您可以像这样自定义响应代码:

Response.status(int).location(URI).build()

请注意,状态代码在枚举中定义

Response.Status

例如,302 是Response.Status.FOUND