【问题标题】:Post parameter in path or in body在路径或正文中发布参数
【发布时间】:2017-07-12 10:44:44
【问题描述】:

我正在创建 Rest API,但我对 URL 结构感到困惑。我必须在我的 Post 请求中向服务器发送一个参数。我应该通过路径变量还是在请求正文中发送它?最佳做法是什么?

当前网址示例:

api/v1/users/{id}/name/{name}

name 是我要发送到服务器以更改状态的变量

谢谢

【问题讨论】:

  • 一个 POST 意味着一个主体的存在。如果您只想更新名称,请将 PATCH 发送至api/v1/users/{id}
  • @zeroflagL 抱歉,PATCH 是什么?
  • 只是另一种方法。与 POST 类似,但用于仅更新资源的一部分。就像你的情况一样。
  • 好的,所以换句话说,如果我想使用 POST,那么我应该通过 body 发送状态更改参数。对吗?
  • 没错。

标签: rest spring-mvc jakarta-ee


【解决方案1】:

URL 通常标识您要更新的资源。

所以数据应该放在请求正文中

要更新用户名,您可以将其发送到服务器:

POST api/v1/users/{id} HTTP/1.1
Content-Type: application/x-www-form-urlencoded

name=string

【讨论】:

猜你喜欢
  • 2022-11-29
  • 2011-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-27
  • 2020-01-28
  • 2023-03-26
  • 2020-06-08
相关资源
最近更新 更多