【问题标题】:Relationship between REST API & DatabaseREST API 和数据库之间的关系
【发布时间】:2016-05-18 14:47:41
【问题描述】:

我最近一直在研究数据库和rest API,我对两者之间的关系有一个疑问。

假设我有一个包含三个表的数据库,STUDENTS、ENROLLED 和 CLASSES。

STUDENTS 和 CLASSES 表示实体学生和班级,而 ENROLLED 表表示它们之间的关系。

如果我要在一个 rest api 中映射这个数据集,我是否只有 3 个不同的 CRUD 路由与三个表,例如('/students'、'/classes'、'/enrolled')?

这个问题一般适用于 REST API —— 当您编写/制作 REST API 时,您只是在构建数据库的 1:1 映射吗?

非常感谢 - 只是想真正确定我对两者之间关系的概念理解。

干杯!

【问题讨论】:

  • 你在这里可能会更好,因为这更具理论性:programmers.stackexchange.com
  • 您以对客户有意义且方便的方式设计您的服务
  • 一般来说,您应该断开数据库结构与业务层的连接。在这种情况下,表格恰好与最终将成为您的业务对象的内容对齐,但情况并非总是如此。简单地假设您的前端将对数据库中的表使用基本的 crud 通常是一个错误的假设,IMO。
  • @dgig 在引用其他网站时,指出cross-posting is frowned upon 通常会有所帮助

标签: mysql sql database api rest


【解决方案1】:

HTTP 动词主要用于 CRUD 操作,但在编写/制作 REST API 时,您不一定要构建数据库的 1:1 映射。

Rest 可以有超媒体控件。就像如果有人想要预约医生,他首先需要获得可用的预约时段,然后使用该预约时段,他可以提出预约请求。在提供可用的预约空档时,您可以发送用于预订该空档的 url。

阅读 - http://martinfowler.com/articles/richardsonMaturityModel.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-28
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2016-05-13
    • 1970-01-01
    • 2018-08-17
    • 2021-06-13
    相关资源
    最近更新 更多