什么是RESTful
随着移动互联网的发展,客户端层出不穷,app,web,微信端等等,而后端业务逻辑基于是一致的,如何做到业务逻辑“一次编写,随时接入”?答案是通过远程调用API,而目前比较火的方案是“Restful
api”。简单来说,RESTful API 是基于HTTP协议产生的一种相对简单的API设计方案,属于无状态传输。
本质: 一种软件架构风格
核心: 面向资源
解决的问题:
- 降低开发的复杂性
- 提高系统的可伸缩性
设计概念和准则
- 网络上的所有事物都可以被抽象为资源。
- 每一个资源都有唯一的自愿标识,对资源的操作不会改变这些标识。
- 所有的操作都是无状态的。
SOAP和REST的区别
如何设计RESTFul风格API(动物园为例)
资源路径
在RESTful架构中,每个网址代表一种资源,所以网址中不能有动词,只能有名词。一般来说API中的名词应该使用复数。
举例
举例来说,有一个API提供动物园(zoo)的信息,还包括各种动物和雇员的信息,则它的路径应该设计成下面这样。
https://api.example.com/v1/zoos //动物园资源
https://api.example.com/v1/animals //动物园资源
https://api.example.com/v1/employees //动物园资源
HTTP动词
对于资源的操作(CURD),由于HTTP动词(谓词)表示。
- GET:从服务器取出资源(一项或多项)。
- POST:在服务器新建一个