调用远程接口返回多层级对象,应该放在哪个分层领域模型下比较合理?

2020-08-19 14:36:31 +08:00
 Vimax

假设调用远程接口放回 school 对象,school 对象下包含 student 和 teacher 对象。

现有系统的分层领域模型有:

现有的对象都是放在分层领域模型包下,并以各自后缀大写结尾。

使用远程接口调用放回 school 对象,接收的 school 对象放在 dto 下,那 school 里面的对象 student 和 teacher 也应该放在 dto 下吗?

如果 student 和 teacher 分别定义 studentDTO 和 teacherDTO,则使用 restTemplate.getForObject 接收 student 和 teacher 则不能直接绑定上。

如果后面不加 DTO 而将对象放在 dto 包下,code review 的时候又不符合 DTO 结尾规范。

        SchoolDTO school = this.restTemplate.getForObject(invokeUrl, SchoolDTO.class);
1618 次点击
所在节点    Java
5 条回复
lidlesseye11
2020-08-19 17:41:02 +08:00
“如果 student 和 teacher 分别定义 studentDTO 和 teacherDTO,则使用 restTemplate.getForObject 接收 student 和 teacher 则不能直接绑定上。”
为啥?
Kirsk
2020-08-19 18:31:40 +08:00
Data transition object
Vimax
2020-08-19 19:45:27 +08:00
@lidlesseye11 如果对方传过来的是 student 和 teacher,我用 studentDTO 和 teacherDTO 接收,结果都是 Null 。同名的情况下则可以绑定上数据。用的是 restTemplate.getForObject.
Vimax
2020-08-19 19:46:14 +08:00
@Kirsk 全部都用 dto 吗?
Kirsk
2020-08-19 22:28:49 +08:00
@Vimax 你在楼上说了 既然是 null 你只能不用 DTO 一般情况是 DTO 的

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

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

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

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

© 2021 V2EX