restfulapi设计建议

restfulapi设计建议,rest,api,restful-architecture,restful-url,Rest,Api,Restful Architecture,Restful Url,我正在进行RESTFul API设计,对以下用例感到困惑: 我有用户和贷款,用户接受贷款。需要API来进行测试 a) 用户管理 b) 获取所选用户的贷款信息 用例a)相当简单。端点将是GET/api/users/以获取用户信息。 如何设计API端点以获取用户的负载信息: GET /api/loans/<user unique id>/ or GET /api/users/<user unique id>/loans GET/api/loans// 或 获取/api/us

我正在进行RESTFul API设计,对以下用例感到困惑:

我有用户和贷款,用户接受贷款。需要API来进行测试 a) 用户管理 b) 获取所选用户的贷款信息

用例a)相当简单。端点将是GET/api/users/以获取用户信息。 如何设计API端点以获取用户的负载信息:

GET /api/loans/<user unique id>/
or
GET /api/users/<user unique id>/loans
GET/api/loans//
或
获取/api/users//loans
请注意,虽然两者都用于唯一标识用户,但与不同

如有任何建议,将不胜感激

谢谢你,

Raj

REST不关心资源标识符的拼写

因此,标识符拼写与变量名拼写非常相似;选择符合当地惯例的拼写是个好主意

URI规范区别于非层次信息。有人可以合理地说,“Bob的贷款集合”在层级上从属于“Bob”,标识符的拼写应该反映这一点

/api/users/12345
/api/users/12345/loans
这种拼写的另一个优点是,由于使用了

但是,这对资源之间的关系没有任何影响。例如,成功的对
/api/users/12345
的不安全请求将以前缓存该资源的表示,但这对
/api/users/12345/loans
没有任何影响

例如:

GET /api/users/12345/loans
DELETE /api/users/12345
就客户而言,标识符拼写的相似性并不意味着这两种资源之间有任何特殊关系;即使用户资源已被删除,缓存中
资源的表示形式仍将被视为有效

GET /api/users/12345/loans
DELETE /api/users/12345