Возникла проблема при отправке изображения с помощью Spring Web Service.
Я написал контроллер, как показано ниже
@Controller
public class WebService {
@RequestMapping(value = "/image", headers = "Accept=image/jpeg, image/jpg, image/png, image/gif", method = RequestMethod.GET)
public @ResponseBody byte[] getImage() {
try {
InputStream inputStream = this.getClass().getResourceAsStream("myimage.jpg");
BufferedImage bufferedImage = ImageIO.read(inputStream);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
ImageIO.write( bufferedImage , "jpg", byteArrayOutputStream);
return byteArrayOutputStream.toByteArray();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
@ResponseBody
преобразует ответ в JSON.
Я использую RestClient для тестирования веб-службы.
Но когда я нажимаю на http://localhost:8080/my-war-name/rest/image
URL.
Header
Accept=image/jpg
Я столкнулся со следующей ошибкой на RestClient
Ошибка преобразования тела ответа в строку с использованием кодировки windows-1252. Тело ответа не установлено!
Когда я использую браузеры Chrome и Firefox
Заголовки не добавляются, поэтому ожидается ошибка (пожалуйста, сообщите мне об этом)
HTTP Status 405 - Request method 'GET' not supported
type Status report
message Request method 'GET' not supported
description The specified HTTP method is not allowed for the requested resource (Request method 'GET' not supported).
Я тоже однажды столкнулся с ошибкой
Ресурс, указанный в этом запросе, способен только
генерации ответов с признаками, не приемлемыми по запросу «принять» заголовки ()
Я следовал
http://krams915.blogspot.com/2011/02/spring-3-rest-web-service-provider-and.html учебник.
Мое требование - отправить изображение в байтовом формате на Android Client.