Я работаю на сервере, где мы используем стороннего API-провайдера для конкретной услуги. Третья сторона отправляет конечную точку изображения. Например. "/media/image/image.jpg"
. Изображение доступно по стороннему базовому URL.
Мне нужно сделать изображение доступным на нашей базовой ссылке. Для этого у меня есть контроллер.
@RequestMapping(value = "/media/movie/{imageName}", method = RequestMethod.GET)
public void getMovieImage(@PathVariable("imageName") String imageName, HttpServletResponse response) throws IOException {
String type = imageName.split(".")[imageName.split("\\.").length - 1];
String imageUrl = getBaseUrl() + imageName;
BufferedImage image = ImageIO.read(new URL(imageUrl));
response.setStatus(HttpServletResponse.SC_OK);
response.setContentType("image/" + type);
ImageIO.write(image, type, response.getOutputStream());
}
Но проблема в том, что *.jpg
определено как отображение сервлета по умолчанию в web.xml.
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>`
Таким образом, запрос не попадает в контроллер и показывает 404.
Как я могу получить запрос на моем контроллере или есть альтернативный способ решения проблемы?