咱们在浏览器中能看到的每一个网站,都是一个web服务。那么咱们在提供每一个web服务的时候, 都须要先后端交互,先后端交互就必定有一些实现方案,咱们一般叫web服务交互方案。 目前主流的三种web服务交互方案: -- REST ( Representational State Transfer)表述性状态转移 -- SOAP (Simple Object Access Protocol) 简单的对象访问协议 -- XML-RPC (XML Remote Procedure Call)基于XML的远程过程调用 XML-RPC是经过XML将调用函数封装,并使用HTTP协议做为传送机制。 后来在新的功能不断被引入下,这个标准慢慢演变成为今日的SOAP协定。 SOAP服务则是以自己所定义的操做集,来访问网络上的资源。 SOAP也是基于XML的,可是它不仅限于HTTP协议的传输,包括TCP协议,UDP协议均可以传输。 REST是Roy Thomas Fielding博士于2000年在他的博士论文里提出来的。 REST相比SOAP更加简洁,性能和开发效率也有突出的优点。 咱们今天主要说一下这个REST,如今愈来愈多的web服务开始采用REST风格设计和实现。 例如,amazon.com提供接近REST风格的Web服务进行图书查找;雅虎提供的Web服务也是REST风格的。 咱们接下来要学的框架也是遵循REST风格的,那么咱们来看下它究竟是个什么样的风格, 了解了它是什么后,咱们看下它的优势是什么,咱们为何用它。
资源 网页中能看到的都是资源 URL 统一资源定位符 URI 统一资源标识符 统一资源接口 对资源的操做根据HTTP请求方式的不一样来进行不一样的操做 遵循HTTP请求方式的语义 先后端传输的是资源的表述 展示的是资源的转态
面向资源去编程 url中尽可能名词不要动词 根据HTTP请求方式的不一样对资源进行不一样的
体现版本 https://v3.bootcss.com/ https://.bootcss.com/v3 体现是不是API https://v3.bootcss.com/api 有过滤条件 https://v3.bootcss.com/course?page=1 尽可能用https
携带状态码 1** 信息,服务器收到请求,须要请求者继续执行操做 2** 成功,操做被成功接收并处理 3** 重定向,须要进一步的操做以完成请求 4** 客户端错误,请求包含语法错误或没法完成请求 5** 服务器错误,服务器在处理请求的过程当中发生了错误 返回值 get 返回查看的全部或者单条数据 post 返回新增的这条数据 put/patch 返回更新的这条数据 delete 返回值空 携带错误信息 携带超连接 在不分离的项目用的多 ret = { code: 1000, data:{ id:1, name:'小强', depart_id:http://www.luffycity.com/api/v1/depart/8/ } }