泽西岛 – POST后重定向到外部URL
我正在使用Jersey来创建REST API。 我有一个POST方法,作为该方法的响应,用户应该被重定向到自定义URL,如http://example.com
,不必与API相关。
我在这里看到关于这个主题的其他类似问题,但没有发现任何我可以使用的问题。
我建议改变JAX-RS注释方法的签名,以返回一个javax.ws.rs.core.Response
对象。 根据您是希望重定向是永久性还是临时性(即客户端是否应更新其内部引用以反映新地址),该方法应构建并返回与HTTP-301(永久重定向)对应的Response
或HTTP-302(临时重定向)状态代码。
以下是Jersey文档中有关如何返回自定义HTTP响应的说明: https : //jersey.java.net/documentation/latest/representations.html#d0e5151 。 我没有测试过以下代码片段,但我认为代码看起来像这样,对于HTTP-301:
@POST public Response yourAPIMethod() { URI targetURIForRedirection = ...; return Response.seeOther(targetURIForRedirection).build(); }
……或者这个,对于HTTP-302:
@POST public Response yourAPIMethod() { URI targetURIForRedirection = ...; return Response.temporaryRedirect(targetURIForRedirection).build(); }