我有三个收藏品
Stores
网址:/api/stores
Practitioners
单个对象具有存储引用,并具有调度对象
网址:/api/stores/:id/practitioners
Appointments
单个对象引用存储和从业人员,并返回已预订的约会
网址:/api/stores/:id/appointments
我想要的是为单个从业者获得可用的预约时间,但我不确定请求应该以RESTful api的方式是什么端点url。
发布于 2021-01-31 04:50:44
资源可以被认为是对文档的概括。
URL/URI是文档的特定实例的标识符。
REST不关心您为标识符使用的拼写,这意味着您在设计中有额外的自由度--您可以选择其他方式有用的拼写。通常的答案是选择一个向人提供提示的拼写,以识别文档实例。
这样做的想法是,标识符在文档中、在访问日志中或在浏览器历史记录中出现时都是有意义的。
在您的例子中,您有描述可用约会时间的文档,所以通常的回答是找出该文档的名称,然后使用RFC 3986的约束来表示该名称。
如果您可以访问域专家,他们可能会告诉您文档在您的域中是什么。但可能是schedule
或calendar
。
问题是REST期望您在引用/ API /实践者时访问集合
那不是REST约束。/api/practitioners
标识一个资源,该资源与web上的其他资源支持相同的语义。
对资源标识符及其表示的约束来自其他地方。
例如,JSON:API将原始数据限制为“单个资源”和“资源集合”,并限制每个资源的表示形式。Atom Pub描述成员和集合。Rails生成相关资源家族。
但是REST架构风格的参考应用程序是万维网。
https://stackoverflow.com/questions/65978685
复制