Spring Boot Загрузить файл через PUT - PullRequest
0 голосов
/ 08 декабря 2018

У меня есть запрос curl:

curl -v -X PUT --upload-file "test.txt" http://remote_api_service/api/files

У меня есть приложение Spring Boot, и моя цель состоит в том, чтобы написать запрос, который отражает опубликованный выше локон.Как я могу сделать это с RestTemplate или WebClient?

1 Ответ

0 голосов
/ 08 декабря 2018

Вам нужно создать HttpEntity с заголовком и телом.Установите значение заголовка content-type на MediaType.MULTIPART_FORM_DATA.

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
body.add("file", new FileSystemResource("test.txt"));
HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(body, headers);
String serverUrl = "http://remote_api_service/api/files";
RestTemplate restTemplate = new RestTemplate();
restTemplate.put(serverUrl, requestEntity);
...