泽西岛 – 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(); }