RESTful API:在请求正文中而不是在 URI 中传递父资源定位器是不是更实用?

Posted

技术标签:

【中文标题】RESTful API:在请求正文中而不是在 URI 中传递父资源定位器是不是更实用?【英文标题】:RESTful API: Is it more practical to pass in parent resource locators in the request body instead of in the URI?RESTful API:在请求正文中而不是在 URI 中传递父资源定位器是否更实用? 【发布时间】:2021-09-16 08:05:44 【问题描述】:

假设我们正在为一个工作列表应用程序构建一个 REST API,用户可以在其中申请工作。

不要像这样使 JobApplication 成为嵌套的 URI 资源:

它将成为***资源:

当然,在后者的情况下,JobVacancy 的 id 仍然包含在请求中,但通过请求正文而不是 URI 传递。

为什么是后一种方法?因为它为客户端省去了必须知道其中 3 个路由的父资源 ID 的不便。

【问题讨论】:

【参考方案1】:

我相信最终,这只是一个标准问题。两种解决方案都可以正常工作,但是,第一种方法在更接近实际操作时更具可读性,应用程序总是与一些职位空缺相关。

此外,您需要考虑在您的系统中,您是否总是从职位空缺开始访问应用程序。如果这是真的,我相信第一种方法更清楚,因为两个实体之间的依赖关系在方法的签名中清楚地表达了。

【讨论】:

以上是关于RESTful API:在请求正文中而不是在 URI 中传递父资源定位器是不是更实用?的主要内容,如果未能解决你的问题,请参考以下文章

在模拟器中而不是在设备中更新位置

查询在一个环境中而不是在其他环境中并行运行

如何在片段中而不是在活动中使用 NavController(在片段中带有 NavHost)?

使用 jQuery 在变量中而不是在当前 DOM 中选择内容?

如何将 API 调用返回的数据直接加载到 BigQuery 中而不存储在 GCS 中?

我想在详细信息页面中而不是在 AspNetCore Web 应用程序的索引页面中构建列