这里的主要问题是,
"/test.htm"在检查
Accept标头的值之前,路径将首先使用内容协商。使用扩展名
*.htm,Spring将使用
org.springframework.web.accept.ServletPathExtensionContentNegotiationStrategy和来确定要返回的可接受的媒体类型
text/html与
MappingJacksonHttpMessageConverter产生的媒体类型不匹配,即。
application/json因此返回406。
一种简单的解决方案是将路径更改为,类似于
/test,其中基于该路径的内容协商不会解析响应的任何内容类型。相反,
ContentNegotiationStrategy基于标头的其他内容将解析标头的值
Accept。
复杂的解决方案是更改处理的
ContentNegotiationStrategy对象在上注册的对象的顺序。
RequestResponseBodyMethodProcessor``@ResponseBody



