2016-08-05 73 views
-1

你好我使用RestEasy的API为我的web .. 我有资源,将接受表单POST请求..重定向URL在Java

@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有post请求params ..

我想问一下,如果有方法可以在请求参数进入重定向URL之前过滤和更改请求参数吗?

+0

澄清*编辑帖子请求值*。 –

回答

0

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

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

+0

是的我已经知道它被转换为GET ..我怎样才能定义这个过滤器?对不起,但我真的没有想法:( –

0

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

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