看到这部分有两个疑问
1.是否是幂等,不是由请求的程序决定的吗?为什么要讨论这四种方法的幂等性呢? 比如说,我post了一个请求到指定url来,调用add_blog()来增加一篇博客,按理说post不是幂等的,但是我在add_blog()中实现了fetch
or add。这样不是就变成幂等了吗?2.所以这四种请求有什么区别呢?无论是post操作还是delete的操作,实际上不是都转变成在具体的相应url中,定义的具体函数来决定吗?比如我可以用post方法请求一个url,然后删除一个条目。所以为什么需要这四种方法?只用request来请求不就好了。。。
我觉得题主不就是在质疑RESTful API的作用吗。下面我说说我的观点.
1、首先我觉得这就是一个规范,就像是定义变量用驼峰法这样的规范一样,我不用驼峰法定义变量一样可以实现啊,这个我觉得没什么好纠结。都是程序猿,就不要自相伤害了,让世界和谐一点好不好。
2、使用RESTful定义的api,首先功能划分的很清楚啊,get/post/put/delete对应的就是RCUD(查增更删),这样每个api功能就可以比较单一,耦合度就低啊。
3、还有就是RESTful设计的api是不是很优雅,有木有。
还有题主的第一个问题,是否是幂等。我觉得只是这个规范衍生出来的一个特性吧,用这个特性,可以更好的去区分get/post/put/delete。假如一个接口实现的代码即会做添加操作,同时还会做更新操作,那应该根据这个接口的功能来确定用post还是put,比如题主add_blog接口,很明显就是添加一篇博客,fetch只是辅助功能,那这个接口应该用post。