У меня есть контроллер, который обслуживает файлы (изображения, PDF и т. Д.):
@Controller
public class FileController {
@ResponseBody
@RequestMapping("/{filename}")
public Object download(@PathVariable String filename) throws Exception {
returns MyFile.findFile(filename);
}
}
Если я запрашиваю файл со следующим заголовком Accept, я получаю 406:
Request
URL: http://localhost:8080/files/thmb_AA039258_204255d0.png
Request Method:GET
Status Code:406 Not Acceptable
Request Headers
Accept:*/*
Если я запрашиваю тот же файл со следующим заголовком Accept, я получаю 200:
URL: http://localhost:8080/files/thmb_AA039258_204255d0.png
Request Method: GET
Status Code:200 OK
Request Headers
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Это единственный распознаватель представлений в моем контексте spring-mvc:
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" id="tilesViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView"/>
</bean>
Есть ли способ настроить spring mvc на игнорирование заголовка Accept? Я видел пример этого с ContentNegotiatingViewResolver, но только для обработки XML и JSON.