Java Jersey-发布到外部URL后重定向

Java Jersey-发布到外部URL后重定向,java,rest,jersey,Java,Rest,Jersey,我正在使用Jersey创建RESTAPI。我有一个POST方法,作为该方法的响应,应该将用户重定向到自定义URL,如http://example.com这不必与API相关 我在这里查看了关于这个主题的其他类似问题,但没有找到任何可以使用的问题。我建议更改JAX-RS注释方法的签名以返回一个对象。根据您希望重定向是永久的还是临时的(即客户端是否应更新其内部引用以反映新地址),该方法应生成并返回与或状态代码相对应的响应 Jersey文档中有一个关于如何返回自定义HTTP响应的描述:。我还没有测试以下

我正在使用Jersey创建RESTAPI。我有一个POST方法,作为该方法的响应,应该将用户重定向到自定义URL,如
http://example.com
这不必与API相关


我在这里查看了关于这个主题的其他类似问题,但没有找到任何可以使用的问题。

我建议更改JAX-RS注释方法的签名以返回一个对象。根据您希望重定向是永久的还是临时的(即客户端是否应更新其内部引用以反映新地址),该方法应生成并返回与或状态代码相对应的
响应

Jersey文档中有一个关于如何返回自定义HTTP响应的描述:。我还没有测试以下代码段,但我认为对于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();
}

工作。谢谢这节省了我的时间。我刚刚尝试了这些,似乎从2.23开始,Jersey为seeOther返回303,为temporaryRedirect返回307(这比永久移动301和找到302更有意义)。在301s上缓存会把OP的用例搞砸。