Java 如何根据数据库配置动态返回 DTO

2022-01-27 09:51:03 +08:00
 cnit

需求是在前端配置好字段映射或者序列化字后,不同的调用者返回的字段 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;

 }
2616 次点击
所在节点    Java
7 条回复
lslvxy
2022-01-27 10:00:49 +08:00
GraphQL
shanch
2022-01-27 10:42:18 +08:00
动态搭理
chihiro2014
2022-01-27 10:55:09 +08:00
JPA 有个东西,叫做 projection ,根据需要取字段
nekoneko
2022-01-27 17:55:41 +08:00
都 toJSONString 了干嘛要再 parseObject,直接返字符串呀
xgfan
2022-01-28 16:45:51 +08:00
Jackson 也有自己的 filter
slomo
2022-01-28 17:15:15 +08:00
动态代理脱敏
yidinghe
2022-01-28 22:48:03 +08:00
让调用者来告诉你具体如何返回,比如请求里面带一个属性 {fields: {realName:"name", returnName:"name1"}} ,这样你就知道要取 name 字段,并且用 name1 的名字返回给调用者

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/830847

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX