1、REST是什么?API是什么?
Representational State Transfer,简称REST,RoyFielding博士在2000年他的博士论文中提出来的一种软件架构风格。
Application Programming Interface,简称API,程序员都懂吧自己写的接口就是API。
2、REST API详解
REST:
是一种WEB应用的架构风格,它被定义为6个限制(详见3)。
RESTful API:
具有REST风格的API,用URL定位资源,用HTTP请求方法(GET、POST....)描述操作,用响应状态码(200、404、500....)表示操作结果。
个人理解:
就是类似自定义目录结构的风格的API,可以参考下自己的C盘,通过http请求调用api并返回状态码及接口数据
域名/api/User/xxx/......
简单易懂,方便维护
个人感觉了解到这差不多了xdm
-----------------------------------------------------------------六个限制分割线-----------------------------------------------------------------
3、六个限制
1)客户-服务器(CS 架构 Client-Server)
分离客户端服务端,形成两个互不相关的业务,不需要共同维护。
2)无状态(Stateless)
独立填写该接口所有需要的信息,不依赖请求上下文(以前的请求或是之后的请求)的信息,让请求模式更加简单。
优点1:业务上不需要进行很多复杂的逻辑判断(我猜的,没用过依赖上下文的API)
优点2:方便排查问题进行维护,哪个API有问题清清楚楚不和上下文关联。
3)缓存 (Cache)
服务器返回信息要标记是否可以缓存,缓存信息可以减少不必要的交互次数(总不能八百年不更新的数据次次请求API吧)
4)统一接口(Uniform Interface)
格式风格上要统一吧,不然维护也太难了
不仅是请求URL路径统一嗷,接口的参数还有代码啥的应该(我也不太确定)都要统一
5)分层系统(Layered system)
xxxxxxxxxx
6)按需代码(Code-On-Demand 可选的)
xxxxxxxxxx
想到了补充吧,我也不太懂。。。