
需求是在前端配置好字段映射或者序列化字后,不同的调用者返回的字段 key 是不样的,或者不序列化该字段。 就跟动态 JSONField 注解一样,我也找到了一篇动态注解的东西,可以加上但是注解加上之后删不掉改不了。
后面我的实现方式是通过 Fastjson 的 NameFilter 跟 PropertyPreFilter 来实现的,但是这个需要 toJSONString(), 然后再 parseObject(). 感觉有点不太优雅,有没有做过类似需求分享一下实现思路?
给大家先拜个早年了
public class MyModel { private String name; // request A : name1 request B :name2 private MyAddress address; private List<MyAddress> items; } 1 lslvxy 2022 年 1 月 27 日 GraphQL |
2 shanch 2022 年 1 月 27 日 动态搭理 |
3 chihiro2014 2022 年 1 月 27 日 JPA 有个东西,叫做 projection ,根据需要取字段 |
4 nekoneko 2022 年 1 月 27 日 都 toJSONString 了干嘛要再 parseObject,直接返字符串呀 |
5 6IbA2bj5ip3tK49j 2022 年 1 月 28 日 Jackson 也有自己的 filter |
6 slomo 2022 年 1 月 28 日 动态代理脱敏 |
7 yidinghe 2022 年 1 月 28 日 让调用者来告诉你具体如何返回,比如请求里面带一个属性 {fields: {realName:"name", returnName:"name1"}} ,这样你就知道要取 name 字段,并且用 name1 的名字返回给调用者 |