V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Vimax
V2EX  ›  Java

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

  •  1
     
  •   Vimax · 2020-08-19 14:36:31 +08:00 · 1770 次点击
    这是一个创建于 1581 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    • School
      • Student
      • Teacher

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

    • po
    • bo
    • dto
    • vo

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

    使用远程接口调用放回 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);
    
    5 条回复    2020-08-19 22:28:49 +08:00
    lidlesseye11
        1
    lidlesseye11  
       2020-08-19 17:41:02 +08:00
    “如果 student 和 teacher 分别定义 studentDTO 和 teacherDTO,则使用 restTemplate.getForObject 接收 student 和 teacher 则不能直接绑定上。”
    为啥?
    Kirsk
        2
    Kirsk  
       2020-08-19 18:31:40 +08:00 via Android
    Data transition object
    Vimax
        3
    Vimax  
    OP
       2020-08-19 19:45:27 +08:00
    @lidlesseye11 如果对方传过来的是 student 和 teacher,我用 studentDTO 和 teacherDTO 接收,结果都是 Null 。同名的情况下则可以绑定上数据。用的是 restTemplate.getForObject.
    Vimax
        4
    Vimax  
    OP
       2020-08-19 19:46:14 +08:00
    @Kirsk 全部都用 dto 吗?
    Kirsk
        5
    Kirsk  
       2020-08-19 22:28:49 +08:00
    @Vimax 你在楼上说了 既然是 null 你只能不用 DTO 一般情况是 DTO 的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3740 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 04:15 · PVG 12:15 · LAX 20:15 · JFK 23:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.