REST端点

时间:2015-05-26 20:01:43

标签: rest

假设我有物业,每个都有建筑物,每个都有房间,每个房间都有合同。

我如何为它设计一个GET方法?

按照指南http://www.restapitutorial.com/lessons/restfulresourcenaming.html,我这样做:

GET http://www.example.com/properties/33245/buildings/8769/rooms/44/contracts

这将返回44号房间的所有合同。这里的问题是properties/33245/buildings/8769部分没用,没有使用,44是数据库中表Rooms的主键,这意味着,我可以使用以下约定:

GET http://www.example.com/rooms/44/contracts

这里的问题是,这些房间是什么?也许将来还有其他房间。

我应该继续使用长约会吗?

1 个答案:

答案 0 :(得分:2)

  

这里的问题是属性/ 33245 / buildings / 8769部分没用,没用过

为什么会出现问题?

  

我应该继续使用长约会吗?

是。房间属于建筑物。没有建筑物的房间就不能存在。因此,它不应该拥有自己的根端点' (如example.com/rooms)。它应该与建筑物相连,而建筑物则依旧与建筑物相关联。

绝对使用长版'。

<子> 使用“长版本”背后的逻辑&#39; (约定,一致性,可读性等等)比获取房间时properties/33245/buildings/8769未使用的事实更重要。