参考
怎样用通俗的语言解释什么叫 REST
理解RESTful架构-阮一峰
理解本真的REST架构风格
1.rest是架构设计风格,http是这个风格下的产物。不要用你的世界观YY出一个协议啦,你始终没有HTTP考虑的更全面,更易用,更有扩展性。
取东西就要GET(GET就是安全的,不会修改服务资源),新增就要POST(POST就是不安全的),修改就要PUT(PUT就要幂等),删除就是DELETE(DELETE就要幂等)....
优雅的展示你的资源,甚至让别人不看协议就能找到这个资源,这个世界岂不更简单
2.Server提供的RESTful API中,URL中只使用名词来指定资源,原则上不使用动词。“资源”是REST架构或者说整个网络处理的核心。
3.看Url就知道要什么,看http method就知道干什么,看http status code就知道结果如何
比如:左边是错误的设计,而右边是正确的
GET /rest/api/getDogs --> GET /rest/api/dogs 获取所有小狗狗
GET /rest/api/addDogs --> POST /rest/api/dogs 添加一个小狗狗
GET /rest/api/editDogs/:dog_id --> PUT /rest/api/dogs/:dog_id 修改一个小狗狗
GET /rest/api/deleteDogs/:dog_id --> DELETE /rest/api/dogs/:dog_id 删除一个小狗狗
左边的这种设计,很明显不符合REST风格,上面已经说了,URI 只负责准确无误的暴露资源,而 getDogs/addDogs...已经包含了对资源的操作,这是不对的。相反右边却满足了,它的操作是使用标准的HTTP动词来体现。