Spring MVC 更灵活的控制 json 返回(自定义过滤字段)

前言:

其实这篇文章也不算完全的原创,因为是看了https://my.oschina.net/diamondfsd/blog/836727实践后做的总结,并且文章后面附上源码下载链接。

我们要做什么?

我们要在springmvc的控制层,在返回字符串的时候,动态改变一下到底要返回哪些字符串,比如我们要返回实体Article,他里面有4个属性我们只想返回其中的3个如图

如何实现?很简单加一个注解,如图,传入实体类型和拦截的属性名

当然这个注解不是springMVC自带的,是我们自定义的,下面就告诉大家如何实现。

1  首先我们要配置一个拦截器,拦截控制层的请求如图

2  实现HandlerMethodReturnValueHandler接口,其实就实现两个方法,一个是拦截后判定是否有对应的注解,也就是@JSON注解,如果有,就执行第二个方法,解析注解中的数据进行一些操作如图

3 我们定义一个类专门进行注解的解析,设置过滤器,和返回json 被jsonReturnHandler调用

4 过滤器

调用关系

源码(只包含工具类):https://pan.baidu.com/s/1jHCnySI

整个程序:https://pan.baidu.com/s/1dFgPNe5

总结:其实挺简单的,就是通过自定义注解,和拦截器实现注解的识别读取,通过jackson实现转换json,通过拦截器,拦截不需要的属性

————————————————chenchen

发表评论

电子邮件地址不会被公开。 必填项已用*标注