HTTP动词,WebAPI

我想知道在WebAPI中POST vs PUT的使用场景。 我知道POST用于创建资源的基本概念,PUT用于更新资源,但不能完全理解为什么我们需要通过POST进行PUT。

我有2个WebAPI方法创建/更新数据到我的SQL存储1. CreateUser(UserDto)2. UpdateUser(UserDto)

UserDto包含userId,用户名和电子邮件。

我可以将POST用于创建用户并将其更新到我的商店的CreateUser和UpdateUser方法。

那么使用POST作为UpdateUser的CreateUser和PUT有什么好处呢? 这仅仅是一个标准/惯例吗?

谢谢


POST总是创建新的东西。 PUT更新现有的东西。 这是一个惯例。

你应该有:

POST /用户:创建一个新用户。 有效载荷不应包含该ID

PUT / user /(id):用有效载荷中的数据替换用户DTO。 同样,有效载荷不应包含用户标识

PATCH / user /(id):更新用户的特定成员,但ID。

这是一个设计惯例,就像软件设计模式一样,可以让任何需要使用API​​的人都能轻松地进行交流和理解。


POST通常用于将新资源添加到资源集合中。 像这样: POST /users 。 这个操作不是幂等的,每次调用都会产生副作用。

虽然PUT通常与替换语义一起使用,但您知道要替换的确切资源。 像这样: PUT /users/1 。 这个操作是幂等的,它不会对随后的调用产生任何副作用。

链接地址: http://www.djcxy.com/p/41171.html

上一篇: HTTP Verbs, WebAPI

下一篇: ActionScript URLLoader URLRequest