Я успешно разместить файл на том же веб-службы, используя следующие:Как я делаю эквивалент этой команды curl, используя SpringTemplate Spring?
curl -X POST http://<someUrl> -F "[email protected]/path/to/aFile.txt"
Теперь я пытаюсь выполнить один и тот же тип операции с использованием Spring, RestTemplate с той оговоркой, что я хочу, чтобы отправить объект Java. Вот пример того, что я пробовал:
File file = File.createTempFile("aaa","bbb");
FileUtils.writeStringToFile(file, mapper.writeValueAsString(message), "UTF-8");
MultiValueMap<String, Object> values = new LinkedMultiValueMap<String, Object>();
values.add("file", new FileSystemResource(file));
restTemplate.postForObject(URL, values, String.class);
Где картографа является экземпляром ObjectMapper Джексона (v1.9.6) и FileUtils от Common Apache.
Служба REST требует, чтобы тип содержимого являлся многочастным/форматированным, поэтому я попытался написать Java-объект как строку JSON во временный файл, а затем опубликовать временный файл. К сожалению, я получаю ошибку внутреннего сервера HTTP 500.
Что я делаю неправильно? Любые предложения относительно того, как это сделать?
500 - это ошибка на стороне сервера. Вам нужно будет проверить свой сервер на наличие журналов. –
Я понимаю, что это ошибка на стороне сервера. Это внешняя служба, к которой я не контролирую и не имею доступа. Я надеялся, что кто-то сможет помочь «преобразовать» мою успешную команду curl в эквивалент, используя RestTemplate. – wxkevin