当前位置: 首页 > 面试题库 >

泽西岛-POST后重定向到外部URL

赵超
2023-03-14
问题内容

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

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


问题答案:

我建议更改JAX-
RS注释方法的签名以返回javax.ws.rs.core.Response对象。根据您打算重定向是永久重定向还是临时重定向(即客户端是否应更新其内部引用以反映新地址),该方法应构建并返回Response对应于HTTP-301(永久重定向)或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();
}


 类似资料:
  • 我目前使用的是球衣 我现在要做的是设置泽西,这样当查询参数进来时(比如缩进),我可以告诉Jackson以“更漂亮的格式,也就是缩进”序列化JSON。您可以通过使用SerializationConfig.Feature.INDENT_OUTPUT配置JSON映射器来轻松地告诉Jackson这样做。 问题是,我如何在每个请求的基础上获取一个queryparam并使用它来修改Jackson的输出?

  • 问题内容: 在下面的Spring 3.1操作中,我必须做一些事情并将属性添加到POST请求中,然后通过POST将其重定向到外部URL(我不能使用GET)。 但是,使用此代码可以使用GET方法(属性附加到http://www.externalURL.com/)。如何使用POST方法?这是来自外部网址的必填项。 问题答案: 就像@stepanian所说的那样,您不能使用POST重定向。但是有几种解决方

  • 问题内容: 我有一个Jersey REST API,并且正在使用来处理授权。我还在所有端点上使用,以便我的API可以处理数千个并发请求。 我的授权过滤器命中了一个远程服务,但是当运行过滤器时,Jersey尚未将当前线程添加到它的内部,因此我完全失去了异步的好处。 我可以告诉Jersey我希望这是异步的吗? 这是一个示例资源: 更新 刚刚收到泽西队球员的回音,从2.7开始,这是不可能的。只有资源方法

  • 我很难理解泽西岛的注入机制。JAX-RS规范(http://jsr311.java.net/nonav/releases/1.1/spec/spec3.html#x3-520005)指出,在应用程序子类、根资源类和提供程序中可以通过@Context进行注入。 我现在有一个在启动时实例化的类,并且有一个在每次请求时调用的方法。在方法内部,我需要访问当前的UriInfo对象。问题是,这个方法不是从我的

  • 我正在泽西岛2中编写一个RESTful网络服务。我想支持响应的 Gzip 编码。按照这个答案,我在我的类中启用了。 在我的资源类中,我返回一个对象。 现在,当我点击这个api时,我得到一个响应,但响应头不包含头,而是包含 header。 请求: 响应: 响应中没有 标头,也没有任何标头。 我在上使用。 我还遗漏了其他配置吗?我如何获得这两个头并得到gzip压缩的响应,而不是接收分块的响应? 编辑:

  • 我试图用户泽西的JSON/bean验证,但是当初始化servlet发生错误。 全栈跟踪: pom.xml: 可能引发异常的行: 更新:使用Java8 更多的文字,这样我就可以发布这个问题更多的文字,这样我就可以发布这个问题更多的文字,这样我就可以发布这个问题更多的文字,这样我就可以发布这个问题更多的文字,这样我就可以发布这个问题再发些短信,这样我就可以发布这个问题了