我想写一个@ExceptionHandler
,因此JSON请求也会在JSON中得到错误响应。对于非JSON请求,我希望servlet容器发送其默认的HTML响应。
为此,我需要进行一些内容协商。 Spring MVC通过注释处理正常请求,但@ExceptionHandler
没有这样的注释。
我想知道如何以编程方式调用内容协商代码?
答案 0 :(得分:0)
显然,内容协商是在调用错误处理程序之后发生的,所以我必须自己完成大部分繁重工作。
使用的方法是ContentNegotiationManager.resolveMediaTypes()
,它提供了一个必须经过并做出决定的类型列表。
如何执行此操作的示例可以找到ContentNegotiatingViewResolver.getMediaTypes()
的来源