1.接口编程

        1.1背景

          随着互联网的发展, 尤其是移动互联为代表的web3.0时代. 客户端层出不穷, 以app、微信、pc浏览器为代表, 服务端业务逻辑是基本一致的。那么有没有一种方式可以做到”服务端一次编写, 客户端随时接入”呢?

        1.2接口编程

        api(application programming interface,应用程序编程接口),程序之间交互数据的一种方式。

        请求方式:get方式 post方式

        请求协议:http协议 https协议

        返回参数格式:普通字符串、json格式、xml格式,现在通用的是json格式

2.restful设计风格

        2.1rest;与restful

         rest(英文:representational state transfer,简称rest),表述性状态转移,指的是一组架构原则。

         restful: 遵守了rest 原则 的web服务或web应用。

         2.2api设计六要素

         2.2.1资源路径url

         资源:所有在服务器保存的数据(如:音乐/视频/文章/个人信息…)都是服务器端资源.(项目中资源通常都是指的数据表的一条数据)

         2.2.2http动词(请求方式)

         对于资源, 一般有4个操作, curd(增/删/改/查)

         get: 从服务器获取资源(一项或多项)

         post: 在服务器新建一个资源

         put: 在服务器更新资源, 服务器返回完整的属性

         delete: 从服务器删除资源

         2.2.3过滤信息

        通常也叫做请求参数或查询字符串。
        2.2.4响应状态码

        服务端返回的信息, 用来告诉客户端操作结果。

       2.2.5错误信息       

         如果状态码是4xx或者5xx, 需要告诉客户端对应的错误信息. 通常以json格式返回:

 

        {

 

         “error”: “错误信息”,

 

         }

         2.2.6返回结果           

           针对不同的操作, 服务需要返回的结果应该符合这样的规范

         get /collections — 返回资源列表(数组)

         get /collections/:id — 返回单个资源 eg. /collections/1

         post /collections — 返回新生成的资源

         put /collections/:id — 返回资源的完整属性

         delete /collections/:id — 返回204状态码+空文档

         实际开发中,通常会将 状态码、错误信息、返回数据,都放到返回结果中。

3.restful接口设计风格

         restful是一种软件设计风格, 主要用于有客户端与服务端交互的软件.

         restful 是目前最流行的 api 设计规范,用于 web 数据接口的设计

4.接口文档

          4.1接口内容

          4.2请求参数内容

          4.3响应参数内容

          4.4错误码内容