HTTP 动词、WebAPI
HTTP Verbs, WebAPI
我想知道 POST 与 WebAPI 中 PUT 的使用场景。我知道 POST 用于创建资源而 PUT 用于更新资源的基本概念,但无法完全理解为什么我们需要 PUT 而不是 POST.
我有 2 个 WebAPI 方法 creates/updates 数据到我的 SQL 存储
1. 创建用户(UserDto)
2.更新用户(UserDto)
UserDto 包含用户 ID、用户名和电子邮件。
我可以将 POST 用于 CreateUser 和 UpdateUser 方法,这些方法创建用户并将其更新到我的商店。
那么CreateUser使用POST,updateuser使用PUT的真正优势是什么?它只是一个 standard/convention 吗?
谢谢
POST 总是创造新事物。 PUT 更新现有事物。这是一个惯例。
你应该有:
POST /users : 创建一个新用户。负载不应包含 ID
PUT /user/(id) :用负载中的数据替换用户 DTO。同样,有效负载不应包含用户 ID
PATCH /user/(id):更新特定成员的用户,但是id。
它是一种设计约定,就像软件设计模式一样,可以让必须使用 API 的任何人轻松交流和理解。
POST 通常用于将新资源添加到资源集合中。
像这样:POST /users
。
此操作不是幂等的,每次调用都会产生副作用。
虽然 PUT 通常与替换语义一起使用,并且您知道要替换的确切资源。
像这样:PUT /users/1
。
该操作是幂等的,不会对后续调用产生任何副作用。
我想知道 POST 与 WebAPI 中 PUT 的使用场景。我知道 POST 用于创建资源而 PUT 用于更新资源的基本概念,但无法完全理解为什么我们需要 PUT 而不是 POST.
我有 2 个 WebAPI 方法 creates/updates 数据到我的 SQL 存储 1. 创建用户(UserDto) 2.更新用户(UserDto)
UserDto 包含用户 ID、用户名和电子邮件。
我可以将 POST 用于 CreateUser 和 UpdateUser 方法,这些方法创建用户并将其更新到我的商店。
那么CreateUser使用POST,updateuser使用PUT的真正优势是什么?它只是一个 standard/convention 吗?
谢谢
POST 总是创造新事物。 PUT 更新现有事物。这是一个惯例。
你应该有:
POST /users : 创建一个新用户。负载不应包含 ID
PUT /user/(id) :用负载中的数据替换用户 DTO。同样,有效负载不应包含用户 ID
PATCH /user/(id):更新特定成员的用户,但是id。
它是一种设计约定,就像软件设计模式一样,可以让必须使用 API 的任何人轻松交流和理解。
POST 通常用于将新资源添加到资源集合中。
像这样:POST /users
。
此操作不是幂等的,每次调用都会产生副作用。
虽然 PUT 通常与替换语义一起使用,并且您知道要替换的确切资源。
像这样:PUT /users/1
。
该操作是幂等的,不会对后续调用产生任何副作用。