Попытка протестировать службу отдыха с помощью составного файла - PullRequest
1 голос
/ 10 августа 2011

Я пытаюсь проверить созданную мной службу отдыха.Служба - это сообщение.

  1. Я хотел создать файл для передачи параметров (включая файл, состоящий из нескольких частей).
  2. Оттуда я пытаюсь вызвать службу по адресуэтот момент.

Уверен, что сервис не работает.Но когда я звоню в Службу отдыха.У меня есть простая форма, которая просто передает пару значений, включая JPG.

Вот код.

HttpMessageConverter bufferedIamageHttpMessageConverter =   new ByteArrayHttpMessageConverter();
restTemplate.postForObject("http://localhost:8080/sendScreeenAsPostCard",  uploadItem.getFileData(),  String.class));

Моя подпись метода:

ResultStatus sendScreenAsPostcard( @RequestParam MultipartFile image, @RequestParamString userId) 

Это ошибка, которую я получаю.

Could not write request: no suitable HttpMessageConverter found for request type [org.springframework.web.multipart.commons.CommonsMultipartFile]

1 Ответ

7 голосов
/ 10 августа 2011

Вам необходимо смоделировать загрузку файла, для которой требуется заголовок определенного типа контента, параметры тела и т. Д. Примерно так должно получиться:

// Fill out the "form"...
MultiValueMap<String, Object> parameters = new LinkedMultiValueMap<String, Object>();
parameters.add("file", new FileSystemResource("file.jpg")); // load file into parameter
parameters.add("blah", blah); // some other form field

// Set the headers...
HttpHeaders headers = new HttpHeaders();
headers.set("Content-Type", "multipart/form-data"); // we are sending a form
headers.set("Accept", "text/plain"); // looks like you want a string back

// Fire!
String result = restTemplate.exchange(
    "http://localhost:8080/sendScreeenAsPostCard",
    HttpMethod.POST,
    new HttpEntity<MultiValueMap<String, Object>>(parameters, headers),
    String.class
).getBody();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...