asp.net mvc and web api which is better Http POST or PUT
我有一个类型为asp.net mvc和web api的应用程序。
我对http post和http put有点困惑。
什么时候使用什么,各有利弊。
我已经浏览了很多博客,但没有充分理由为什么设计。
使用
使用
以下是PUT和PUT之间的差异。 POST
1 | `POST is Not idempotent`--> |
一次又一次地运行POST操作意味着每次运行时都会创建新实例。
1 | `PUT is Idempotent`--> |
PUT是一次又一次地调用PUT的幂等操作将导致相同的结果。
所以POST不是幂等的,而PUT是幂等的。
1 | `There is also PATCH` --> |
当您只需要更新模型的少数属性时使用补丁。换句话说,部分更新。
简单地说(没有双关语):
使用正确的HTTP谓词允许您发布更清晰的API,并且无需在端点(url)中编码意图。例如,比较:
使用正确的动词:
1 2 3 4 | GET api/user/12345 POST api/user/12345 PUT api/user/12345 DELETE api/user/12345 |
黑客端点:
1 2 3 4 | GET api/user/12345 POST api/user/12345/create POST api/user/12345/update POST api/user/12345/delete |
我认为使用
例如,几周前我遇到一个问题,就是在它出现之前将代理放在API前面并且代理不支持