我们需要在所有终点支持html和json响应。
html将由我们自己的前端应用程序使用,json将由第三方API集成使用。
我们已经使用ContentNegotiatingViewResolver分别对html和json内容使用JstlView和MappingJackson2JsonView,效果很好。使用单个控制器方法,我们可以根据url扩展名获得html / json输出。
我们希望通过@ControllerAdvice / @ExceptionHandler为全局ExceptionHandler提供类似的技术。但在解析为视图之前,似乎没有考虑内容类型。
如何让ExceptionHandler根据url.extension选择正确的视图来生成html或json? (注意:我不想使用@ResponseBody或ResponseEntity,因为我需要一个ModelAndView来输出基于html的错误页面)
我可以创建一个自定义视图解析器来为ExceptionHandling执行此操作吗?如何在Spring配置中将其拼接在一起,以及用于正常响应的ContentNegotiationViewResolver?