如何选择正确的rest api端点url

时间:2021-01-31 11:40:34

标签: rest

我有 3 个收藏

Stores

网址:/api/stores

Practitioners 单个对象具有对存储的引用并具有调度对象

网址:/api/stores/:id/practitioners

Appointments 单个对象具有对商店和从业者的引用并返回已预约的约会

网址:/api/stores/:id/appointments

我想要的是为单个从业者获得可用的约会时间,但我不确定请求应该以 RESTful api 方式到达哪个端点 url

1 个答案:

答案 0 :(得分:1)

Resources 可以被认为是文档的概括。

URL/URI 是文档特定实例的标识符。

REST 不关心您为标识符使用什么拼写,这意味着您在设计中拥有额外的自由——您可以选择以其他方式有用的拼写。通常的答案是选择一种拼写,以提示人们正在识别哪个文档实例。

这个想法是标识符应该在文档中有意义,或者当它们出现在访问日志或浏览器历史记录中时。

就您而言,您有描述可用约会时间的文档,因此通常的答案是弄清楚该文档的名称是什么,然后使用 RFC 3986 的约束确定如何表达该名称。< /p>

如果您可以访问领域专家,他们可能会告诉您您的领域中的文档是什么。但它可能是 "RabbitMqSend": { "Hostname": "192.168.0.12", "QueueName": "SendQueue", "UserName": "user", "Password": "password"}, schedule

<块引用>

问题是 REST API 希望您在引用例如 /api/practitioners 时访问集合

那不是 REST constraintcalendar 标识一个资源,该资源支持与网络上所有其他资源相同的语义。

对资源标识符及其表示的约束来自其他地方。

例如,JSON:API 将 primary data 限制为“单一资源”和“资源集合”,并限制每个资源的表示。 Atom Pub 描述了成员和集合。 Rails 生成相关资源系列。

但是 REST 架构风格的参考应用程序是 world wide web