【问题标题】:Redirect URL in javajava中的重定向URL
【发布时间】:2016-12-11 22:59:32
【问题描述】:

您好,我正在为我的网络服务使用 Resteasy api.. 我有一个可以接受表单发布请求的资源..

@POST
@Path("/path_here")
public Response redirectURL(String req){
  String url = "http://localhost:8080/url_here";
  URL newUrl = new URL(url);
  return Response.temporaryRedirect(newUrl.toURI()).build();
}

上面的代码只是在重定向的 URL 上发布请求的参数.. 所以这意味着重定向的 URL 具有发布请求参数..

请问有没有办法在请求参数进入重定向URL之前过滤和更改请求参数?

【问题讨论】:

  • 澄清编辑发布请求值

标签: java post resteasy http-redirect


【解决方案1】:

首先,虽然您将请求“POST”发送到 Web 服务,但您的重定向 URL 将在重定向到其他站点时转换为“GET”。我希望你已经知道这一点。

如果您的终点是 Servlet,您可以在到达 Servlet 之前定义一个过滤器并尝试编辑参数。

【讨论】:

  • 是的,我已经知道它被转换为 GET.. 我该如何定义这个过滤器?对不起,但我真的不知道:(
【解决方案2】:

重定向的重要概念是,服务器不做重定向。服务器告诉客户端“请转到此 url”,客户端自动向返回的 url 发出 GET 请求。您可以做的是,从 POST 请求中获取正文,将数据从正文转换为 url 参数,并根据需要更改 url 参数。

P.S.:这是解决您问题的一种方法,并不意味着您应该这样做。请不要这样做,根据您的情况寻找其他解决方案。

【讨论】:

    猜你喜欢
    • 2014-07-18
    • 1970-01-01
    • 2015-12-08
    • 1970-01-01
    • 2014-01-16
    • 2015-06-09
    • 2012-11-24
    • 2014-05-11
    • 2014-01-15
    相关资源
    最近更新 更多