我(我认为)是一种子资源。给定资源始终只有一个子资源。该子资源是否应始终具有ID? 例如。我们说资源是员工,子资源是薪水。进一步让我们假设你永远不能放置"薪水。 (也许它总是在后端更新。任何put调用都会被概括地声明为坏请求) 在这种情况下,这是一个更好的阅读薪水模型?
/雇员/ 1234 /薪水
或
/雇员/ 1234 /的getSalary
在第一种情况下,薪水看起来像资源。
或者"薪水"不是资源,必须被视为"过滤器"应该填充结果的哪些字段?
答案 0 :(得分:1)
无论您选择哪种方式,都没有REST警察会敲门。
我的意见:
拥有没有id的子资源没有任何问题。正如您所说,您想要做的最终只是实现"字段过滤器的一种方式"。这是一种不太灵活的方式。以下是一些注意事项(主要与性能相关):
如果你对这些后果感到满意,那么你的想法就没有错。
我的观点:使用名词作为资源名称,而不是动作短语,这意味着使用/salary
,而不是/getSalary
。 METHOD +资源名称构成您的行动短语:" GET / employee / 123 / salary"有道理," GET / employee / 123 / getSalary"没有意义。