• restful接口规范


    """
    url链接:
    	1)接口都是操作前后台数据的,所以需要保证数据的安全性
    		采用https协议
    	2)接口用来操作数据,与网址(操作页面)有区别,所以用特定的关键字表示接口
    		api关键字
    			- https://api.baidu.com
    			- https://www.baidu.com/api
    	3)接口操作的数据称之为 资源,在url中只体现 资源 名称(名词),不体现操作资源的方式动词
    		常规资源接口
    			- https://api.baidu.com/books/
    			- https://api.baidu.com/books/(pk)/
    			
    		非常规接口 - 和某资源不是特别密切或是不止一种资源
    			- https://api.baidu.com/login/
    			- https://api.baidu.com/place/search/
    			
    	4)如果一个资源存在多版本结果,在url链接中要用特定符号来兼容多版本共存
    		v1|v2
    			- https://api.baidu.com/v1/books/
    			- https://api.baidu.com/v2/books/
    			
    	5)群资源操作,一般还有额外的限制条件,如排序、限制调试、分页等等
    		?限制条件
    			- https://api.baidu.com/v1/books/?ordering=-price&limit=3
    
    
    请求方式
    	6)五大请求方式
    		get:获取单个或多个资源
    			- https://api.baidu.com/books/
    				群查,返回多个结果对象
    			- https://api.baidu.com/books/(pk)/
    				单查,返回单个结果对象
    				
    		post:新增单个或多个资源
    			- https://api.baidu.com/books/
    				单增,提交单个数据字典,完成单增,返回单个结果对象
    				群增,提供多个数据字典的数组,完成群增,返回多个结果对象
    				
    		put:整体修改单个或多个资源
    			- https://api.baidu.com/books/
    				整体修改多个,提供多个数据字典的数组(数据字典中要包含主键),完成群改,返回多个结果对象
    			- https://api.baidu.com/books/(pk)/
    				整体修改单个,提供单个数据字典(主键在url中体现),完成单改,返回单个结果对象
    		
            patch:局部修改单个或多个资源
            	方式与put完全相同,不同的是:操作的资源如果有5个key-value键值对,put请求提供的字典必须全包含,但是patch提供的字典包含的键值对0~5个都可以
            	
            delete:删除单个或多个资源
            	- https://api.baidu.com/books/
            		多删,提供多个资源主键数据,完成群删,不做任何资源返回(一般我们会返回结果信息:成功|失败)
            	- https://api.baidu.com/books/(pk)/
            		单删,不需要提供额外数据,完成单删,不做任何资源返回(一般我们会返回结果信息:成功|失败)
    	
    
    响应结果:
    	7)响应对象中要包含网络状态码(网络状态信息和网络状态码捆绑出现,不要额外设置):
    		1xx:基本信息
    		2xx:成功 - 200基本 201新增成功
    		3xx:重定向
    		4xx:客户端错误 - 400错误请求;403请求无权限;404请求资源不存在
    		5xx:服务端错误 - 500服务器错误
    		
    	8)数据状态码(一般都是前后台约定规则):
    		0:成功
    		1:失败 - 1xx:具体失败信息(要在接口文档中明确写出)
    		2:无数据 - 2xx:具体无数据信息(要在接口文档中明确写出)
    		
        9)数据状态信息(一般不仅仅是对数据状态码的解释,更多是对结果的描述,给前台开发者阅读的)
        	
    	10)数据结果(常量、数组、字典),如果有子资源(图片、音频、视频),返回资源的url链接
    		
    		{
        		"status": 0,
        		"msg": 'ok',
        		"results": [{
        			"name": "西游记",
        			"img": "https://api.baidu.com/media/book/xyj.png"
        		}]
    		}
    """
    
  • 相关阅读:
    TypeScript——04——ts中的接口(Interface)
    TypeScript——02——TS基本数据类型介绍和使用
    TypeScript——01——简介以及安装使用
    事件循环 EventLoop(Promise,setTimeOut,async/await执行顺序)
    【vue】vue生命周期---精简易懂-----【XUEBIG】
    【Vue】-- 数据双向绑定的原理 --Object.defineProperty()
    【nodejs】--express的中间件multer实现图片文件上传--【XUEBIG】
    【H5】-- FormData用法介绍以及实现图片/文件上传--【XUEBIG】
    CommonJs规范详解---【XUEBIG】
    从输入 URL 到页面加载完成的过程详解---【XUEBIG】
  • 原文地址:https://www.cnblogs.com/jinhongquan/p/12093113.html
Copyright © 2020-2023  润新知