Spring boot 400个坏请求

Spring boot 400个坏请求,spring-boot,cloud-foundry,spring-4,Spring Boot,Cloud Foundry,Spring 4,我使用的是Spring Boot 1.2 有前端Web应用程序和后端Web应用程序。前端Web应用程序使用Angular和Spring Boot 1.2构建。前端Web应用程序是使用Spring Boot 1.2构建的 前端Web应用程序使用RestTemplate调用后端Web应用程序。使用RestTemplate从前端Web应用程序到后端Web应用程序的所有GET请求都可以正常工作 使用RestTemplate的POST请求并非始终有效。在10个POST请求中,1个POST请求会导致400个

我使用的是Spring Boot 1.2 有前端Web应用程序和后端Web应用程序。前端Web应用程序使用Angular和Spring Boot 1.2构建。前端Web应用程序是使用Spring Boot 1.2构建的

前端Web应用程序使用RestTemplate调用后端Web应用程序。使用RestTemplate从前端Web应用程序到后端Web应用程序的所有GET请求都可以正常工作

使用RestTemplate的POST请求并非始终有效。在10个POST请求中,1个POST请求会导致400个错误请求

POST请求总是发布JSON。RestTemplate已配置为设置“接受”(“应用程序/json”)和“内容类型”(“应用程序/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>"
}

您可以显示@RequestMappings和失败的URL吗?@RequestMapping(value=“/user”,method=RequestMethod.POST,consumes={“application/json”},products={“application/json”})@responseBy public UserResponse create(@RequestBody user){..}您向REST服务发布了什么?请显示您发布的JSON的结构。您正在运行的应用程序(后端)的日志显示了什么?您添加了标签
cloudfoundry
。如果您的应用程序部署到Cloud Foundry,请使用
cf logs myappname
附加到日志输出,或使用
cf logs myappname--recent
附加到最后两行日志。
@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;
} 
@RequestMapping(value = "/user", method =RequestMethod.POST, 
     consumes = { "application/json" }, produces = { "application/json" }) 
@ResponseBody public UserResponse create(@RequestBody User user) { 
  ...
  // save update user 
  ...
}