欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

RestFul接口设计

程序员文章站 2022-05-27 09:01:56
1.接口编程 1.1背景 随着互联网的发展, 尤其是移动互联为代表的Web3.0时代. 客户端层出不穷, 以APP、微信、PC浏览器为代表, 服务端业务逻辑是基本一致的。那么有没有一种方式可以做到”服务端一次编写, 客户端随时接入”呢? 1.2接口编程 API(Application Program ......

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错误码内容