@RequestMapping("/**")
public ResponseEntity mirrorRest(@RequestBody(required = false) String body,
HttpMethod method, HttpServletRequest request, HttpServletResponse response)
throws URISyntaxException {
String requestUrl = request.getRequestURI();
URI uri = new URI("http", null, server, port, null, null, null);
uri = UriComponentsBuilder.fromUri(uri)
.path(requestUrl)
.query(request.getQueryString())
.build(true).toUri();
HttpHeaders headers = new HttpHeaders();
Enumeration<String> headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
String headerName = headerNames.nextElement();
headers.set(headerName, request.getHeader(headerName));
}
HttpEntity<String> httpEntity = new HttpEntity<>(body, headers);
RestTemplate restTemplate = new RestTemplate();
try {
return restTemplate.exchange(uri, method, httpEntity, String.class);
} catch(HttpStatusCodeException e) {
return ResponseEntity.status(e.getRawStatusCode())
.headers(e.getResponseHeaders())
.body(e.getResponseBodyAsString());
}
}
上面的代码摘自这个答案。
这更多的是HTTP规范的问题,而不是Spring的问题,在Spring中,服务器将返回307重定向状态,指示客户机应该使用相同的方法执行重定向并post数据。
这通常是可以避免的,因为如果您与W3.org规范保持一致,就会有很多潜在的误用和摩擦,该规范规定在新位置重新执行请求之前应该提示客户机。
另一种选择是让Springendpoint充当代理,对目标位置进行POST调用,而不是发出任何形式的重定向。
我有一个SpringRest控制器: 我想引入一个新的endpoint版本,它解析参数:param1、param2并转发到请求URL。 我希望新客户端能够调用,而旧客户端仍然能够调用终结点。我看了拦截器和过滤器。所以我要么, 将请求转发到v1或, 在内部调用控制器方法 有更好的方法吗?谢谢
我向我的flask应用所在的服务器发出了python post请求。它运行良好,我能够获得所需的数据。 但我想用POSTMAN测试API。我无法做到这一点,因为在某种程度上我对邮递员并不熟悉。 下面是我的python代码。 我正在努力解决这样一个问题:我试图发布到服务器上的数据和文件应该是原始json还是表单数据,或者是正文的x-www-form-urlencoded部分。还有实际的结构应该是什么
问题内容: 我在HttpURLConnection和OutputStreamWriter方面挣扎。 代码实际上到达了服务器,因为我确实收到了有效的错误响应。发出了POST请求,但服务器端未收到任何数据。 正确使用此东西的任何提示均受到高度赞赏。 该代码在AsyncTask中 我正在尝试发送的JSON: 我从服务器得到的响应: 我应该得到的回应是: 服务器端PHP脚本: 以及Android Stud
我有一个小应用程序(HTML表单、servlet作为控制器和jsp文件),我试图弄清楚为什么我不能将请求从servlet转发到jsp文件。 问题是从html提交后,显示“HTTP状态404” null 谢谢! 项目层次结构:http://s23.postimg.org/kgt7r7lwb/capture.jpg main.html: 更新:问题可能出在Controller.java。当我尝试下面的
我试着描述一下我们的情况: 我们有一个Wordpress网站,需要连接到Oath2 API 我对API和PHP的使用经验很少 我们正在使用一个PHP-Oath2库,可以在这里找到:https://github.com/adoy/PHP-OAuth2/tree/master/src/OAuth2 我们卡住的库中的方法是 executeRequest。这种方法可以在 https://github.co
我想从php发送post请求到python并得到答案,我写了这个脚本发送post 我使用定制python服务器