小编Tod*_*ske的帖子

在 REST API 的 POST 请求中同时使用查询和正文参数是否有意义?

我有一个资源,本质上需要另一个资源作为创建的输入数据。例如:

POST /v1/NewResource
body: {InputResource}
Run Code Online (Sandbox Code Playgroud)

然而,有趣的是,创建 NewResource 的成本很高,而且资源本身是暂时的(不是持久的)。有些消费者可能只需要部分资源。因此,我确实有两个输入参数:创建所需的数据,然后处理来自消费者的指令以控制实际完成的工作量。

我看到两条路(至少):

POST /v1/NewResource?detailLevel=base|full
body: {InputResource}
Run Code Online (Sandbox Code Playgroud)

POST /v1/NewResource
body: {Request.detailLevel and Request.InputResource}
Run Code Online (Sandbox Code Playgroud)

第一个甚至是一个选择吗?有人有任何偏好/经验吗?让有效负载只是所需的数据并与处理指令分开,有一定的优雅性。我意识到这里没有正确或错误的答案,只是对社区的想法感到好奇。

rest api-design restful-url restful-architecture

6
推荐指数
1
解决办法
2709
查看次数