专栏名称: OSC开源社区
OSChina 开源中国 官方微信账号
目录
相关文章推荐
京东零售技术  ·  做「长期主义者」的技术人们 ·  4 天前  
51CTO官微  ·  端午假期即将到来,让我看看是谁还没下班 ·  3 天前  
51好读  ›  专栏  ›  OSC开源社区

Spring MVC 更灵活的控制 json 返回

OSC开源社区  · 公众号  · 程序员  · 2017-02-14 08:35

正文

请到「今天看啥」查看全文




封装 json 转换

通过上面的代码,我们发现,可以使用 setFilterProvider 来灵活的处理需要过滤的字段。不过上面的方法还有一些缺陷就是,还是要在 原来的 model 上加注解,这里我们使用 ObjectMapper.addMixIn(Class> type, Class> mixinType) 方法,这个方法就是讲两个类的注解混合,让第一个参数的类能够拥有第二个参数类的注解。让需要过滤的 model 和 @JsonFilter 注解解除耦合



我们之前的 Demo 可以变成:



自定义 @JSON 注解

我们需要实现文章开头的那种效果。这里我自定义了一个注解,可以加在方法上,这个注解是用来携带参数给 CustomerJsonSerializer.filter 方法的,就是某个类的某些字段需要过滤或者包含。


实现 Spring MVC 的 HandlerMethodReturnValueHandler

HandlerMethodReturnValueHandler 接口 Spring MVC 用于处理请求返回值 。 看一下这个接口的定义和描述,接口有两个方法supportsReturnType 用来判断 处理类 是否支持当前请求, handleReturnValue 就是具体返回逻辑的实现。







请到「今天看啥」查看全文