zoukankan      html  css  js  c++  java
  • RESTFUL规范自我总结

    1.安全保障:https传输

    2.特征表现:一看便知,用api关键字标识接口url

    - [https://api.baidu.com](https://api.baidu.com/)
    - https://www.baidu.com/api
    

    3.多版共存:不同版本接口可以同时存在

    - https://api.baidu.com/v1
    - https://api.baidu.com/v2
    

    4.数据即资源:传输的数据可以看作真正的资源存在,接口以名词的形式存在

    - https://api.baidu.com/users
    - https://api.baidu.com/books
    

    5.请求方式决定操作方式:不同的请求方式,对于数据的操作方式不同

    - https://api.baidu.com/books - get请求:获取数据
    - https://api.baidu.com/books/1 - get请求:获取数据
    - https://api.baidu.com/books - post请求:增加数据
    - https://api.baidu.com/books/1 - put请求:修改数据(整体)
    - https://api.baidu.com/books/1 - patch请求:修改数据(局部)
    - https://api.baidu.com/books/1 - delete请求:删除数据
    

    6.数据过滤表现于url上:通过在url上传参的形式传递搜索条件

    - https://api.example.com/v1/zoos?limit=10:指定返回记录的数量
    - https://api.example.com/v1/zoos?offset=10:指定返回记录的开始位置
    

    7.响应状态码:不同的状态吗代表响应的不同

    应状态码2xx
          - 200:常规请求
          - 201:创建成功
       7.2 重定向响应
        - 响应状态码3xx
          - 301:永久重定向
          - 302:暂时重定向
       7.3 客户端异常
        - 响应状态码4xx
          - 403:请求无权限
          - 404:请求路径不存在
          - 405:请求方法不存在
    	7.4 服务器异常
        - 响应状态码5xx
          - 500:服务器异常
    

    8.错误处理:对于错误要给予提示信息

       {
            error: "无权限操作"
        }
    

    9.返回结果:针对不同操作,服务器向用户返回的结果应该符合以下规范

        GET /collection:返回资源对象的列表(数组)
        GET /collection/resource:返回单个资源对象
        POST /collection:返回新生成的资源对象
        PUT /collection/resource:返回完整的资源对象
        PATCH /collection/resource:返回完整的资源对象
        DELETE /collection/resource:返回一个空文档
    

    10.地址链接:响应回来的额数据有链接以url链接的方式返回

            {
                "status": 0,
                "msg": "ok",
                "results":[
                    {
                        "name":"肯德基(罗餐厅)",
                        "img": "https://image.baidu.com/kfc/001.png"
                    }
                    ...
                    ]
            }
    
  • 相关阅读:
    STL
    Makefile
    配置pyqt5环境 for python3.4 on Linux Mint 17.1
    SELinux Policy Macros
    python爬虫
    python常用模块
    python中if __name__ == '__main__':
    Centos 7 .Net core后台守护进程Supervisor配置
    阅读Google Protocol Buffers 指南,整理pb语法
    Google Protocol Buffers 入门
  • 原文地址:https://www.cnblogs.com/Ailewent/p/14342622.html
Copyright © 2011-2022 走看看