更正相关对象的 REST API URL 格式

Correct REST API URL format for related objects

我正在设计一个 REST API,其中有两个对象。

对于每个 Journey 有许多 Reports 途中,每个 Report 恰好有一个关联 Journey.

用户可能会使用 API 创建一个 Journey,如下所示...

POST /journey/

然后检索详细信息...

GET /journey/1226/

第一个问题 是,如果用户想要 post 一个 Report 到他们的 Journey,即 'correct' URL API 应该强加的结构?这对我来说似乎很直观...

POST /journey/1226/report/

...或者是这样...

POST /report/

...在后者中,Journey ID 在请求正文中的某处传递?

第二个问题是,如何在 Django REST 框架等工具中实现第一个案例?

谢谢!

URL/URI结构几乎完全不相关。很高兴能够阅读它,或者轻松地更改甚至猜测它,但仅此而已。没有 "requirement" 官方或未成文的它们应该是什么样子。

但是,要点是您在响应中向您的客户提供 URI。每个 GET 都会为您提供一个表示,其中包含指向您的客户可以访问的下一个 "states" 的链接。这意味着服务器可以完全控制 URI 结构,客户端通常只需知道 "start" 或 "homepage" URI,仅此而已。

这里有一篇文章讨论了这个问题,有一些好的观点:http://www.ben-morris.com/hackable-uris-may-look-nice-but-they-dont-have-much-to-do-with-rest-and-hateoas/

通过第二个问题:)我没有使用那个特定的框架。