У меня есть контроллер, который получает HttpServletRequest
с телом form-data
с некоторыми key-value
Я хочу передать HttpServletRequest
другому API. То, что другой контроллер API получает HttpServletRequest
До сих пор я пробовал это в своем классе обслуживания.
public void saveApi(HttpServletRequest request) throws Exception {
System.out.println(request.getCode());
RestTemplate restTemplate = new RestTemplate();
HttpServletRequest result = restTemplate.postForObject( "http:localhost:8080/save", request, HttpServletRequest .class);
}
В результате получается другой API java.lang.NullPointerException: null
, другой API не сделал ' не получил мой пост.
Как это сделать? Является ли это возможным?
Другой сервис, например: GET
метод, я использую RestTemplate
для вызова другого API с некоторым параметром, он успешно выполняется.
UPDATE
ответ:
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.MULTIPART_FORM_DATA);
MultiValueMap<String, Object> form = new LinkedMultiValueMap<>();
form.add("name", request.getParameter("name"));
form.add("blabla", request.getParameter("blabla"));
form.add("blabla", request.getParameter("blabla"));
HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(form, httpHeaders);
restTemplate.postForEntity("http:localhost:8080/save", requestEntity, String.class);