REST完整API复合键与主键

时间:2019-05-10 09:54:22

标签: rest http

当我具有实体的主ID但同时可以通过组合键标识该实体时,REST完整API的最佳做法是什么?

可以这样做

  • HTTP GET /entity/333-数据库主键
  • HTTP GET /entity/CODE1/to/CODE2/with/CODE3-这是URL的示例 组合键可能看起来像

1 个答案:

答案 0 :(得分:0)

REST不在乎您的URI使用什么拼写;我们真的只关心您选择的拼写是否符合RFC 3986中所述的限制。

如果您有两个不同的标识符,那么就REST客户端而言,您将拥有两个不同的资源-返回给客户端的表示将被缓存在不同的密钥下,使一个资源无效不会以任何方式影响另一个资源。

两个人拥有两个(或更多)共享相同表示的资源是完全合理的。

您还可以将对一种资源的请求重定向到另一种资源。

REST中超媒体约束的部分要点是服务器控制URI空间,因此您可以自由更改它们而不会破坏客户端(限制:破坏书签URI会造成混乱)。 URL缩短器起作用。

在设计路径段时,记住relative-resolution的工作方式通常非常有用,这样您的表示形式就可以引用相对于基本URL的其他资源,而不是锁定在特定的层次结构中。