我有 3 个收藏
Stores
网址:/api/stores
Practitioners
单个对象具有对存储的引用并具有调度对象
网址:/api/stores/:id/practitioners
Appointments
单个对象具有对商店和从业者的引用并返回已预约的约会
网址:/api/stores/:id/appointments
我想要的是为单个从业者获得可用的约会时间,但我不确定请求应该以 RESTful api 方式到达哪个端点 url
答案 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 constraint。 calendar
标识一个资源,该资源支持与网络上所有其他资源相同的语义。
对资源标识符及其表示的约束来自其他地方。
例如,JSON:API 将 primary data 限制为“单一资源”和“资源集合”,并限制每个资源的表示。 Atom Pub 描述了成员和集合。 Rails 生成相关资源系列。
但是 REST 架构风格的参考应用程序是 world wide web。