我最近一直在研究数据库和休息API,我对这两者之间的关系有疑问。
想象一下,我有一个包含三个表,STUDENTS,ENROLLED和CLASSES的数据库。
学生和课堂表示实体学生和班级,而ENROLLED表格表示他们的关系。
如果我要在rest api中映射这个数据集,我是否只有3个不同的CRUD路由和三个表,例如('/ students','/ classes','/ enrolled')?
这个问题一般适用于REST API - 当您编写/创建REST API时,您只是构建数据库的1:1映射吗?
提前非常感谢 - 只是试图真正理解我对两者之间关系的概念性理解。
干杯!
答案 0 :(得分:0)
HTTP谓词主要用于CRUD操作,但在编写/创建REST API时,您不一定要构建数据库的1:1映射。
休息可以有超媒体控件。如果有人想要预约医生,他首先需要获得可用的预约时段,而不是使用该预约时段,他可以提出预约请求。在提供可用的预约时段时,您可以发送预订该时段的网址。
阅读本文 - http://martinfowler.com/articles/richardsonMaturityModel.html