• RESTful规范


    一、Restful规范

    # REST: 表征性状态转移(Representational State Transfer)
    # RESTful规范:web数据请求接口设计规范
    
    规范规定了两部分:
        1 url链接应该怎么写
        2 返回的数据格式如何写
    介绍

    二、规范要点

    1)通常使用https请求
    2)链接会出现api字眼
        https://api.baidu.com
        https://www.baidu.com/api
    
    3)版本:不同版本需要标注
        - https://example.com/api/v1
        - https://example.com/api/v2
    
    4)资源:请求的目标数据称之为资源,单资源采用资名称名词的复数
        https://api.baidu.com/v2/book | https://api.baidu.com/v2/books
        https://api.baidu.com/book  | https://api.baidu.com/book
    
    
    5) 请求方式:错误示范 - get_book|add_book
                    https://api.baidu.com/get_book|add_book
                    
                  正确示范 - book
                    https://api.baidu.com/book
                    
        请求方式的正确使用:不是通过动词,而是通过请求的方式决定操作资源的方式
            - get:https://example.com/api/v1/books  获取所有
            - post:https://example.com/api/v1/book  新增一本
            - put:https://example.com/api/v1/book/1  更新id=1的一本
            - patch:https://example.com/api/v1/book/1  更新id=1的一本
            - delete:https://example.com/api/v1/book/1  删除id=1的一本
    
    6)资源过滤:通过接口传递参数来过滤资源
            - https://example.com/api/v1/books?limit=10 限制10条
    
    7)数据状态码:返回数据要标准状态吗,通过在数据中{'status': 0} - 注:数据状态码都是约定的
            - SUCCESS("0", "查询成功")
            - NODATA("1", "非正确,无数据,显示基本信息")
            - FEAILED("2", "查询失败")
    
    8)错误信息:请求失败需要标注错误信息 - {"error": "错误信息"} => {"msg": '数据状态描述信息'}
    
    9)数据(操作的资源返回结果)
        {"results": []} | {"data": []}
        - get:返回资源列表 | 返回单一资源
        - post:返回单一新增资源
        - put:返回更新的资源
        - patch:返回更新的资源
        - delete:返回空文档
    
    10)子资源返回资源接口:返回的资源如果有子资源,返回子资源的链接地址,如查找书,书的封面图片就可以url表示
       
       
       总结:
        安全的数据是接口
        版本号 名词 请求方式 资源限制
        
        数据状态码 数据信息 子资源的表示方式 
  • 相关阅读:
    C#中静态与非静态方法比较
    Hibernate学习之路-- -映射 继承关系(subclass , joined-subclass,union-subclass )
    网络协议概述:物理层、连接层、网络层、传输层、应用层详解
    phpstorm xdebug配置
    eclipse修改内存大小
    Session机制详解
    java把html标签字符转普通字符(反转换成html标签)(摘抄)
    JAVA调用WCF
    RabbitMQ入门与使用篇
    大话程序猿眼里的高并发
  • 原文地址:https://www.cnblogs.com/lich1x/p/11526875.html
Copyright © 2020-2023  润新知