Я использую Spring Framework и пытаюсь выполнить запрос по почте. Мой метод почты принимает URL-адрес, HttpMethod и параметры, которые входят в тело запроса.Spring RESTtemplate POST
ПРИМЕЧАНИЕ. URL-адрес URL, переданный в сети. POSTRequest (URL, .., ...) отличается для каждого вызова.
Теперь, если я называю этот метод с одним параметром, как так ... (он прекрасно работает!)
//with one parameter
MultiValueMap<String, String> postParams = new LinkedMultiValueMap<String, String>();
postParams.add("id", "524cd432539ed");
network.POSTRequest(URL, HttpMethod.POST, postParams);
, но если есть два параметра, как так .... (он выдает эту ошибку)
org.springframework.web.client.HttpServerErrorException: 500 Внутренняя ошибка сервера
//with two parameters
MultiValueMap<String, String> postParams = new LinkedMultiValueMap<String, String>();
postParams.add("id", "crisp");
postParams.add("name", "honey");
network.POSTRequest(URL, HttpMethod.POST, postParams);
Это метод POSTRequest
public Object POSTRequest(String URL, HttpMethod method, MultiValueMap<String, String> postParams){
HttpEntity<?> requestEntity =
new HttpEntity< MultiValueMap<String, String> >(postParams, getHeaders());
RestTemplate restTemplate = new RestTemplate();
List< HttpMessageConverter<?> > messageConverters = new ArrayList< HttpMessageConverter<?> >();
messageConverters.add(new MappingJacksonHttpMessageConverter());
restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
restTemplate.setMessageConverters(messageConverters);
System.out.println(requestEntity.toString());
ResponseEntity result =
restTemplate.exchange(URL, method, requestEntity, APIResponse.class) ;
return result.getBody();
}
Давайте посмотрим ваши регулятора, –
протестировали вы Почте конечную точку вручную с помощью плагина POST для браузера или 'wget'or' curl' с использованием одного или нескольких параметров? Это может быть конечная точка на двух параметрах. – nickdos
Да, я сделал запрос, используя postman (chrome extension) и успешно. –