您好我正在使用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有post请求参数..
我想问一下在转到重定向网址之前是否有办法过滤和更改请求参数?
答案 0 :(得分:0)
首先,您发送请求' POST'到webservice,但您的重定向网址会转换为' GET'而重定向到其他网站。我希望你已经知道了。
如果您的终点是Servlet,您可以在到达Servlet之前定义一个Filter并尝试编辑参数。
答案 1 :(得分:0)
重定向的重要概念是,服务器不进行重定向。服务器告诉客户"请转到此网址"和客户端自动向返回的URL发出GET请求。你可以做的是,从POST请求中获取正文,将数据从正文转换为url参数,并根据需要更改url参数。
P.S。:这是一种解决问题的方法,但这并不意味着你应该这样做。请不要这样做,并根据您的具体情况找到另一种解决方案。