我正在使用Spring Boot 1.2 有FrontEnd Web应用程序和后端Web应用程序。 FrontEnd Web应用程序使用Angular和Spring Boot 1.2构建。 FrontEnd Web应用程序是使用Spring Boot 1.2构建的。
使用RestTemplate调用BackEnd Web应用程序的FrontEnd Web应用程序。从FrontEnd Web应用程序到BackEnd Web应用程序使用RestTemplate的所有GET请求始终可以正常工作。
使用RestTemplate 的POST请求不是一直在工作。在10个POST请求中,1个POST请求导致 400 BAD REQUEST 。
POST请求始终发布JSON。 RestTemplate已配置为设置"接受" (" application / json")和" Content-Type" (" application / json")标题。
RestTemplate抛出的错误是
{
"timestamp": "2015-04-04 18:35:50",
"errorCode": "BAD_REQUEST",
"message": "400 Bad Request",
"data": "<html><body><h1>400 Bad request</h1> Your browser sent an invalid request. </body></html>"
}
非常感谢任何见解。是Spring抛出此异常还是Tomcat抛出此异常?
FrontEnd应用程序有以下终点:
@RequestMapping(value = "/manage/user", method =RequestMethod.POST,
consumes = { "application/json" }, produces = { "application/json" })
@ResponseBody public UserResponse manageUser(@RequestBody User user) {
...
RestTemplate restTemplate = new RestTemplate();
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAccept(Arrays.asList(MediaType.APPLICATION_XML,
MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN));
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<User> entity = new HttpEntity<>(user, httpHeaders);
// Call back-end application
UserResponse userResponse =
restTemplate.postForObject(userServiceURL, user, UserResponse.class);
// Random 400 occurs here, thrown by RestTemplate.postForObject()
...
return userResponse;
}
BackEnd应用程序有以下终点:
@RequestMapping(value = "/user", method =RequestMethod.POST,
consumes = { "application/json" }, produces = { "application/json" })
@ResponseBody public UserResponse create(@RequestBody User user) {
...
// save update user
...
}