RESTFUL api 风格

什么是Restful ?

REST: Representational State Transfer的缩写,翻译为“表现层状态转换”

REST是设计风格而不是标准,是指客户端和服务器的交互形式

哪些要求?

1、域名的处理

       将api部署在专用域名下:http://api.example.com

       将api放在主域名下:http://www.example.com/api/

2、API的版本处理:将API的版本号放在url中,

例如:

        http://www.example.com/app/1.0/info

        http://www.example.com/app/1.2/info

3、路径的处理:路径表示API的具体网址,每个网址代表一种资源。

                  资源作为网址,网址中不能有动词,只能有名词

                  一般名词要与数据库的表名对应,而且名词要使用复数

                 示例:

                   获取单个商品

                       http://www.example.com/app/goods/1

                   #获取所有商品

                       http://www.example.com/app/goods

4、HTTP动词

对于资源的具体操作类型,由HTTP动词表示:

       请求方式  对应数据库操作       描述信息

       GET         SELECT          从服务器获取资源

       POST        CREATE          在服务器新建资源

       PUT         UPDATE          在服务器更新资源

       DELETE      DELETE          从服务器删除资源

5、过滤信息:

如果资源数据较多,服务器不能将所有数据一次全部返回给客户端,

                API应该提供参数,过滤返回结果

           #指定返回数据的数量:select * from 表名 limit 10

               http://www.example.com/goods?limit=10

           #指定返回数据的开始位置:select * from 表名 limit 10,n

               http://www.example.com/goods?offset=10

           #指定第几页,以及每页数据的数量: select * from 表名 limit 20,20

               http://www.example.com/goods?page=2&per_page=20

               起始索引值(跳过的记录数)=(当前页号-1)*每页记录数

               page_no=2

               page_size=20

               start_index=(page_no-1)*page_size

               start_index=(2-1)*20=20

6、状态码

       1xx:信息提示

       2xx:成功

          200:OK

       3xx:重定向

          302

       4xx:客户端错误

         400

         403

         404

       5xx:服务器端错误

7、错误信息

      一般来说,服务器返回的错误信息,以键值对的形式返回

       {

           error:'Invalid API KEY'

       }

8、响应结果:

针对不同结果,服务器向客户端返回的结果应符合以下规范:

       #返回商品列表 GET    http://www.example.com/goods

       #返回单个商品 GET    http://www.example.com/goods/1

       #返回新生成的商品 POST   http://www.example.com/goods

       #返回更新后的商品 PUT   http://www.example.com/goods/id

       #返回一个空文档DELETE http://www.example.com/goods

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值