POST
用于向表单提交数据,传送的数据放在请求体中。
在POST请求中,请求参数放在请求体中,服务器会根据POST请求体中的参数创建一个页面,然后返回给客户端。POST不具有幂等性。
PUT
用来向服务器上传文件,并且具有幂等性。与POST区别在于:POST用于向服务器发送数据,而PUT用于向服务器储存数据。 它自身不带验证机制,导致任何人都可以上传文件,有很大的安全问题,一般不使用该方法。 当使用PUT进行请求时,服务器会使用PUT的请求体的数据创建一个由它请求的URL命名的新文件。没有进行特殊说明,一般PUT请求的请求体只用于创建或修改该资源上。如果请求的URL在服务器中不存在,则根据该请求的主体部分创建一个由该请求URL命名的新文档;如果该URL在服务器中已经存在,则用该主体替代他。
PATCH
对资源进行部分修改。与PUT区别在于,PUT是修改所有资源,替代它,而PATCH只是修改部分资源。
https://blog.csdn.net/weixin_39628342/article/details/112628423
create - POST
read - GET
update - PUT
delete - DELETE
https://stackoverflow.com/questions/31089221/what-is-the-difference-between-put-post-and-patch
收到请求后,可以直接修改,对于echo这类框架,路由是分http method 存储的,所以修改 http method 应该放在路由之前:
Echo#Pre() 用于注册一个在路由执行之前运行的中间件,可以用来修改请求的一些属性。比如在请求路径结尾添加或者删除一个’/‘来使之能与路由匹配。
https://www.bookstack.cn/read/go-echo/website-zh-content-middleware-overview.md