【问题标题】:Restful entity versioningRestful 实体版本控制
【发布时间】:2016-03-21 20:00:13
【问题描述】:

我正在开发一个宁静的 API。我正在寻找一种“锁定”版本结构以满足 REST 版本控制的解决方案。

对于我的项目,我使用 JAX-RS 和 JPA。我的 JPA 实体可以经常更改,但我不想让这些更改自动公开。我知道一个解决方案可以是 DTO(数据传输对象),这将添加很多类,我不确定是否值得投资。

是否有更好/更简单的解决方案来实现这一目标,或者 DTO 是唯一的方法吗?

【问题讨论】:

  • DTO 赢得胜利。否则你需要泄露你的内部结构,正如你所提到的,应用程序的内部结构往往会发生变化,你不希望你的 API 发生变化。

标签: rest jpa jax-rs


【解决方案1】:

简单地说,是的,DTO 是要走的路。这是使您的 API 和模型独立的一种方式。更重要的是,有时模型(JPA)类无法通过 REST API 公开(例如,如果您有循环对象依赖项)。 也许一开始 DTO 看起来像开销,它是保持模型清洁的唯一方法(即表示层不可知 - 假设 REST 是一种表示模型的方式)。通过 RESTful API 公开一个类通常需要向模型添加一些特定的注释。将它们直接放在模型中只会污染它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-21
    • 2011-02-23
    • 1970-01-01
    • 2011-12-02
    • 2019-04-10
    • 2020-03-27
    • 1970-01-01
    • 2019-03-10
    相关资源
    最近更新 更多