在编写Restful风格服务时经常搞混PUT和POST方法,只是隐隐约约记得一个用于创建一个用于更新,但是对这个并不是特别确定,今天正好确认一番。爆栈网有一个回答很清晰:
对于PUT和POST而言,他们都可以用来创建资源。
那么到底哪一个应当使用呢?通常考虑以下点:
- 如果你在请求时指定资源ID,那么用PUT;你期望服务器自动生成资源ID,那么用POST;
- PUT是幂等的,重复调用两次不会造成额外的影响,所以PUT可以被安全的重试;
- PUT可以用来更新或者创建资源;
- POST方法在同时访问时,可能会修改一个资源对象的不同部分。
原问题:http://stackoverflow.com/questions/630453/put-vs-post-in-rest
路过~混个脸熟。