Restful 的一点思考
Posted 编世界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Restful 的一点思考相关的知识,希望对你有一定的参考价值。
1、首先我觉得这就是一个规范,就像是定义变量用驼峰法这样的规范一样,我不用驼峰法定义变量一样可以实现啊,这个我觉得没什么好纠结。都是程序猿,就不要自相伤害了,让世界和谐一点好不好。
2、使用RESTful定义的api,首先功能划分的很清楚啊,get/post/put/delete对应的就是RCUD(查增更删),这样每个api功能就可以比较单一,耦合度就低啊。
3、还有就是RESTful设计的api是不是很优雅,有木有。
还有之前一直没有搞清楚post和put的区别,区别在于是否是幂等。我觉得只是这个规范衍生出来的一个特性吧,用这个特性,可以更好的去区分get/post/put/delete。假如一个接口实现的代码即会做添加操作,同时还会做更新操作,那应该根据这个接口的功能来确定用post还是put,比如题主add_blog接口,很明显就是添加一篇博客,fetch只是辅助功能,那这个接口应该用post。
本文所要探讨的正是HTTP协议涉及到的一种重要性质:幂等性(Idempotence)。在HTTP/1.1规范中幂等性的定义是:
Methods can also have the property of "idempotence" in that (aside from error or expiration issues) the side-effects of N > 0 identical requests is the same as for a single request.
从定义上看,HTTP方法的幂等性是指一次和多次请求某一个资源应该具有同样的副作用。幂等性属于语义范畴,正如编译器只能帮助检查语法错误一样,HTTP规范也没有办法通过消息格式等语法手段来定义它,这可能是它不太受到重视的原因之一。但实际上,幂等性是分布式系统设计中十分重要的概念,而HTTP的分布式本质也决定了它在HTTP中具有重要地位。
以上是关于Restful 的一点思考的主要内容,如果未能解决你的问题,请参考以下文章