Java 为单弹簧控制器指定消息转换器
我正在为具有一些奇怪的JSON映射实践的服务编写回发处理程序库。我可以很容易地配置一个定制的JacksonJava 为单弹簧控制器指定消息转换器,java,spring,spring-mvc,type-conversion,Java,Spring,Spring Mvc,Type Conversion,我正在为具有一些奇怪的JSON映射实践的服务编写回发处理程序库。我可以很容易地配置一个定制的JacksonObjectMapper来处理映射,但是如果我用这个映射器注册一个Spring-MVC消息转换器,它会将映射(对于我正在处理的JSON的其余部分来说是不正确的)应用到所有传入的请求 我可以应用一些手动方法来手动解码这些消息,但是让Spring类型转换服务在请求管道中处理这些消息会更干净 是否有可行的方法将自定义消息转换器附加到特定的控制器、处理程序方法或映射字符串/模板/前缀 我也遇到过类似
ObjectMapper
来处理映射,但是如果我用这个映射器注册一个Spring-MVC消息转换器,它会将映射(对于我正在处理的JSON的其余部分来说是不正确的)应用到所有传入的请求
我可以应用一些手动方法来手动解码这些消息,但是让Spring类型转换服务在请求管道中处理这些消息会更干净
是否有可行的方法将自定义消息转换器附加到特定的控制器、处理程序方法或映射字符串/模板/前缀 我也遇到过类似的情况-我想创建定制的
@ResponseBody
等价物,允许我配置JSON序列化的某些方面(在我的示例中,我希望JSON值可以选择html编码)。我最终创建了自定义的@JsonResponseBody
注释,这将导致SpringMVC对使用它注释的方法使用不同配置的Jackson消息转换器
我必须扩展Spring的AbstractMessageConverterMethodProcessor
来注册自定义注释的自定义处理,然后我需要通过将CustomAbstractMessageConverterMethodProcessor
添加到RequestMappingHandlerAdapter
的处理程序列表中,用Spring框架注册我的CustomAbstractMessageConverterMethodProcessor
。这也很棘手,因为如果使用xml配置,则必须通过BeanPostProcessor
完成
在我尝试这个的时候(一年前,Spring3.1),我没有找到任何更简单的方法