gpt4 book ai didi

rest - 将 ID 发布到 REST API

转载 作者:行者123 更新时间:2023-12-05 05:27:54 24 4
gpt4 key购买 nike

我正在设计一个用于向“解决方案”表插入记录的 REST API。 “解决方案”有一个 solverID、problemID。我有两种不同的设计:

POST /solutions

并在 JSON 中传递包含解决方案内容的 solverID 和 problemID。或者将 solverID 和 problemID 放在 URI 中:

POST /users/:solver_id/problems/:problem_id/solutions 

哪种设计更好?

最佳答案

在一致的层次结构中定义资源是一种很好的做法,这样它们就易于理解和预测。

假设这是检索问题的 URL -

GET     /users/{solverId}/problems/{problemId}

它清楚地表明该问题属于 {solverId}。

以下 URL 将清楚地表明我们正在检索由 {solverId} 解决的问题的所有解决方案

GET     /users/{solverId}/problems/{problemId}/solutions

要为 {problemId} 创建一个新的解决方案,您可以在

上发帖
POST     /users/{solverId}/problems/{problemId}/solutions

要检索特定的解决方案,您可以继续

GET     /users/{solverId}/problems/{problemId}/solutions/{solutionId}

何时在路径和查询中使用 ID?

如果确定需要 ID 来标识资源,请在路径中使用它。在上面的场景中,由于需要所有三个 Id 来唯一标识一个解决方案,因此它们都应该在路径中。

假设您想检索在特定日期范围内给出的解决方案,您将使用以下内容

GET     /users/{solverId}/problems/{problemId}/solutions?startDate={}&endDate={}

这里的 startDate 和 endDate 不能唯一标识一个资源,它们只是用来过滤结果的参数。

关于rest - 将 ID 发布到 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15415700/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com