Как пользоваться сервисом Post Rest с помощью шаблона Rest - PullRequest
0 голосов
/ 04 февраля 2019

Привет, у меня есть конечная точка покоя xyz.com/test/create, которая ожидает тип контента application / json и content

{
    "name": "spring boot"       
}

Есть и другие поля в теле, имеющем массив.

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

Как использовать шаблон отдыха для попадания выше конечной точки с указанными выше данными, а Content-Typeприложения JSON.

1 Ответ

0 голосов
/ 04 февраля 2019

Создание данных

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

com.google.common.collect.ImmutableMap.of("name","spring boot")

В качестве альтернативы POJO:

public class dataTransferPOJO {

    private String name;

    //... NoArgsConstructor, getters, setters ...//
}

Отправка данных с помощью RestTemplate:

Убедитесь, что вы понимаете Spring Boot's RestTemplateи используйте POST-запрос для достижения конечной точки:

...
dataTransferPOJO payload = new dataTransferPOJO();
HttpEntity<String> entity = new HttpEntity<String>(payload, headers);
HttpEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, entity, dataTransferPOJO.class);
...

Получение данных

Spring Boot попытается сериализовать полученный вами запрос с помощью Джексона FasterXML ,и ваш приемник конечной точки будет выглядеть так:

@RequestMapping(value = "/rawTask", method = RequestMethod.POST)
public AsyncTask newRawTask(@Valid @RequestBody dataTransferPOJO payload) throws Exception {
    return atrr.save(payload);
}
...