首页 > 解决方案 > 在 RestTemplate 代码中得到 400 Request Bad Error 但在 SOAPUI 中得到正确的响应

问题描述

在 SOAPUI 中获取值存在错误消息,但在 spring restTemplate 客户端代码中,我收到 HttpClientErrorException: 400 Bad Request。

    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);
    

但是如果我在上面的代码中尝试一个正确的请求,我会成功,如果我再次尝试相同的请求,我实际上需要得到“Value Already Exist”,但是我得到了 400 错误

更新

由于这是一个错误场景,我在异常正文中收到错误消息。1 - 所以我需要捕获 HttpClientErrorException 2 - 使用 getBodyAsString() 获取错误消息

标签: javaspringjava-ee-6rest

解决方案


推荐阅读