Java 在RestTemplate代码中获取400请求错误,但在SOAPUI中获取正确响应
SOAPUI中的Getting value exist错误消息,但在spring restTemplate客户端代码中,我得到了HttpClientErrorException:400错误请求Java 在RestTemplate代码中获取400请求错误,但在SOAPUI中获取正确响应,java,spring,java-ee-6,restapi,Java,Spring,Java Ee 6,Restapi,SOAPUI中的Getting value exist错误消息,但在spring restTemplate客户端代码中,我得到了HttpClientErrorException:400错误请求 RestTemplate restTemplate = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON);
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("Authorization", authHeader);
headers.set("Accept", MediaType.APPLICATION_JSON_VALUE);
HttpEntity<String> entity = new HttpEntity<>(requestJson, headers);
System.out.println("" + entity);
ResponseEntity<String> response=restTemplate.exchange(API_URL,HttpMethod.POST,entity,String.class);
RestTemplate RestTemplate=new RestTemplate();
HttpHeaders=新的HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set(“授权”,authHeader);
headers.set(“Accept”,MediaType.APPLICATION\u JSON\u VALUE);
HttpEntity=新的HttpEntity(requestJson,headers);
系统输出打印项次(“+实体);
ResponseEntity response=restemplate.exchange(API_URL,HttpMethod.POST,entity,String.class);
但是如果我在上面的代码中尝试了一个正确的请求,我就成功了,如果我再次尝试相同的请求,我实际上需要得到“Value ready Exist”,但是我得到了400个错误
更新
因为这是一个错误场景,所以我在异常主体中得到了错误消息。
1-因此我需要捕获HttpClientErrorException
2-使用getBodyAsString()获取错误消息最可能的原因是
authHeader
的授权标头值错误。。。但如果没有更多细节,很难说。也许requestJson
的值不好。如果您提供与这些相关的更多详细信息,那么等效的SoapUI请求是什么(以curl形式),我怀疑您会得到一个更有用的答案?是响应状态代码400
?状态代码是400,但在SoapUI中显示“值已存在”。