当路径参数已经有一些资源信息时,POST 的最佳正文是什么

What is the best body for POST when the Path Parameters already have some of the resource information

我可以通过以下方式访问一种资源:

users/{userName}/shoppings/{shoppingName}/products/{productName}

这是将存储信息的产品 table:

当前端向users/{userName}/shoppings/{shoppingName}/products发出POST请求创建一个Product时,我应该在body上传递什么?

我应该只通过:

productName;
quantity

还是我应该传递完整的对象?:

userName;
shoppingName;
productName;
quantity.

在后端,当我从路径参数中捕获用户名和购物名时,我认为在正文中只发送产品名和数量会更有意义,但我不确定。

提前致谢!

what should I pass on the body?

可能 body 中的所有内容;该样式的论点允许您稍后轻松更改 URI。

考虑网络上的表单——输入控件中的数据根据​​HTML的表单处理规则进行复制,然后使用表单元数据来确定请求的目标 URI。

这使我们能够在生成 HTML 时轻松更改目标 URI。例如,我们可能想利用 cache invalidation 或引入 URL 缩短器。

也就是说:耸耸肩。整个 HTTP 请求都去同一个地方,服务器在如何解释 POST 请求方面有很大的自由裁量权。