Мне нужно отправить данные JSON с одного метода обслуживания другому, используя метод postForObject()
. Я видел один пример на RestTemplate
на this link.Нужна помощь по методу RestTemplate postForObject()
postForObject()
метод имеет следующий формат:
User returns = rt.postForObject(uri, u, User.class, vars);
Или
User returns = rt.postForObject(uri, u, User.class);
Я хочу знать, что после использования postForObject()
метода, если мы реализуем метод услуг, чтобы принять User
объект, как это будет выглядеть?
В моем проекте, у меня есть код, подобный
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConverter());
restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
String uri = "http://testcode.com/myapp/api/launchservices";
ServiceRequest request = new ServiceRequest();
request.setId(UUID.randomUUID().toString());
....
я получаю ошибку на этой линии:
ServiceRequest req = restTemplate.postForObject(uri, request, ServiceRequest.class);
при выполнении этого, я получаю это электронное письмо об ошибке:
org.springframework.web.client.HttpClientErrorException: 400 Bad Request
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:88)
at org.springframework.web.client.RestTemplate.handleResponseError(RestTemplate.java:537)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:493)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:452)
at org.springframework.web.client.RestTemplate.postForObject(RestTemplate.java:302)
мой способ осуществления:
@RequestMapping(value = "/launchservices", method = RequestMethod.POST)
@ResponseBody
public boolean launchServices(@PathVariable ServiceRequest request) {
System.out.println("Request: "+request.toString());
return true;
}
Как избавиться от этого? Какой будет URI?
Человек, которого вы очень долго спасли с этим чистым примером. Ну, это ответ на вопрос, но я использовал его в качестве примера. Ты спас мне много времени, спасибо. Я не могу смотреть обычную игру без стресса. – giannisapi