[英]RESTFul API Design Suggestion
我正在研究RESTFul API设计,并对以下用例感到困惑:
我有用户和用户借贷的地方。 a)用户管理b)获取所选用户的贷款信息需要API。
用例a)非常简单。 端点将为GET / api / users /以获取用户信息。 如何设计API端点以获取用户的负载信息:
GET /api/loans/<user unique id>/
or
GET /api/users/<user unique id>/loans
请注意,这与两个都用来唯一标识用户不同。
任何建议,将不胜感激。
谢谢,
拉吉
REST不在乎您对资源标识符使用什么拼写。
因此,标识符拼写与变量名拼写非常相似。 选择符合当地惯例的拼写是一个好主意。
URI规范将层次信息与非层次信息区分开。 可以合理地认为“鲍勃的贷款集合”在等级上是从属于“鲍勃”的,标识符的拼写应该反映这一点。
/api/users/12345
/api/users/12345/loans
这种拼写的另一个优点是,由于有相对引用 ,因此引用 Bob所属的其他资源非常简单。
uri(/api/users/12345/addresses) === uri(/api/users/12345/loans).resolve(../addresses)
但是,这对资源之间的关系没有任何影响。 例如,对/api/users/12345
不安全成功请求将使该资源先前缓存的表示形式无效 ,但这对/api/users/12345/loans
完全没有任何影响。
例如:
GET /api/users/12345/loans
DELETE /api/users/12345
就客户而言,标识符拼写上的相似之处并不意味着这两种资源之间有任何特殊关系。 即使已删除用户资源,缓存中loans
资源的表示仍将视为有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.