Получение ошибки 400 запросов в коде RestTemplate, но получение правильного ответа в SOAPUI

#java #spring #java-ee-6 #rest

#java #весна #java-ee-6 #rest

Вопрос:

Получение сообщения об ошибке value exist в SOAPUI, но в клиентском коде spring RestTemplate я получаю HttpClientErrorException: 400 неверный запрос.

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

Но если я попытаюсь выполнить правильный запрос в приведенном выше коде, я получаю успех, если я повторю тот же запрос еще раз, мне действительно нужно получить «Значение уже существует», но я получаю ошибку 400

Обновить

Поскольку это сценарий ошибки, я получаю сообщение об ошибке в теле исключения. 1 — Поэтому мне нужно перехватить HttpClientErrorException 2 — используйте getBodyAsString() для получения сообщения об ошибке

Комментарии:

1. наиболее вероятной причиной является неправильное значение заголовка авторизации для authHeader … но трудно сказать без более подробной информации. Возможно, значение requestJson неверно. Если вы предоставите более подробную информацию в отношении них, каков эквивалентный запрос пользовательского интерфейса SOAP (в форме curl) Я подозреваю, что вы получите более полезный ответ.

2. Вы упомянули, что ответ от SoapUI — «существует сообщение об ошибке»? Является ли код состояния ответа 400 ?

3. код состояния равен 400, но в SoapUI отображается «Значение уже существует».