西湖的晚霞真美啊
前言
此套方案太过完美,唯一缺点就是,字段返回基于反射操作,损失一点点性能
效果
API接口指定使用自定义增强注解MoreSerializeField,标注只返回 departName 字段
前端只会接收到 departName 字段
实现原理
重写SpringMvc 提供的ResponseBodyAdvice扩展方法,API接口返回b数据前解析自定义注解,哪些字段需要序列化返回、哪些又是不要的,通通封装到一个对象里面如下图。
最终通过自定义FastJsonHttpMessageConverter接口,对结果进行最终序列化,将字段按照指定要求进行返回。
核心源码
源码被我集成为一个Starter提供给组内同事使用了,嘿嘿。