RestTemplate преобразование значений параметров в одноэлементные массивы - PullRequest
0 голосов
/ 13 февраля 2019

Как видно из заголовка, у меня проблемы с настройкой параметров для шаблона остальных.

Прежде всего, вот код:

RestTemplate restTemplate = new RestTemplate();
    restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());

    MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
    params.add("place_id","7" );
    params.add("name","Winsrow" );
    params.add("phone","111333222" );

    MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
    headers.add("Authorization",  AUTHORIZATION);
    headers.add("Content-Type", "application/json");

    HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(params, headers);

   String response = restTemplate.postForObject(CREATE_SHIPMENT_URL, request, String.class); 

Я использую строку какответ только для потребления ответа WS.Вот проблема:

RestTemplate в какой-то момент процесса преобразует значение моей карты параметров (без ключа) в массивы с одним объектом (этот объект содержит значение ключа карты), напримерэто (на стороне сервера):

 $info = object(stdClass) {
place_id => array(
    (int) 0 => '7'
)
name => array(
    (int) 0 => 'Winsrow'
)
phone => array(
    (int) 0 => '111333222'
)

Что я могу сделать, чтобы предотвратить это преобразование?Ура!

...