网上搜索一大堆,什么post创建put更新,get查询。put幂等,post非幂等。
我咋完全理解不了。我感觉最后到底执行了更新还是查询,这取决于我后台代码怎么写的,如果乐意的话我也可以搞一个接口,getMapping的,我直接在里边更新。
还有幂等,这不也是后台代码来控制的吗?
下边是摘抄的网上的言论:
幂等性:
- PUT 是幂等的,这意味着多次执行相同的PUT请求,资源的状态不会改变,即无论调用多少次,结果都是一样的。
- POST 不是幂等的,多次执行相同的POST请求,可能会创建多个资源,导致不同的结果。
这啥意思啊?我都执行一个按照id更新数据的逻辑,用put和post有啥区别吗?
我对http的理解还停留在servlet的get和post上,一个是明文url传值,一个是密文传值。
put和post到底有没有本质上的区别?求大神给解惑一下,万分感谢!
关于AI所回答的, 对于POST请求,由于它通常用于创建资源,多次发送相同的POST请求可能会导致创建多个资源,因此POST不是幂等的。 我可不可以理解为因为在规范上post用于创建一个新的资源,而导致了他不是幂等的,而不是服务器对post和put有什么区别的处理?
最后一段说对了,restful 实际开发就是约定俗成的。
一眼就能看明白这个接口是什么操作:get 获取,post 新增,put 修改,delete删除。
有些安全报告直接说 put 和 delete 不安全。
所以就是 get获取,post 包含(新增\修改\删除)操作名写在接口,复杂查询也用post。
https://segmentfault.com/q/1010000040658304