api接口和restful规范

api接口
	规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介
    
接口文档
	可以手动写(公司有平台,录到平台里,)
    自动生成(coreapi,swagger)
    
restful规范(10条,规定了这么做,公司可以不采用)
	1 数据的安全保障,通常使用https进行传输
    
    2 域名(会有api标识)
		https://api.example.com 		尽量将API部署在专用域名
		https://127.0.0.0:8080/api/     API标识
                
    3 请求地址中带版本,或者在请求头中
		https://127.0.0.0:8080/api/v1/
                
   	4 任何东西都是资源,均使用名词表示 (尽量不要用动词)
    	-https://api.example.com/v1/books/
        -https://api.example.com/v1/get_all_books(不符合规范)
            
    5 通过请求方式区分不同操作
    	get				获取
        post			新增数据
        put/patch		patch是局部更新,put是全部(基本上更新都用put)
        delete			删除
   	6 在请求路径中带过滤
    	https://api.example.com/v1/?name='金'&order=asc
        https://api.example.com/v1/name?sortby=name&order=asc
            
   	7 返回数据中带状态码
    	http请求的状态码(2,3,4,5)
        返回的json格式中到状态码(标志当次请求成功或失败)
        
   	8 返回数据中带错误信息
    	错误处理,应返回错误信息,error当做key
        
    9 对不同操作,返回数据符合如下规范(这只是规范)
    	GET /books			返回资源对象的列表(数组)	 [{},{},{}]
        GET /books/1		返回单个资源对象			 {}
        POST /books			返回新生成的资源对象		    {新增的书}
        PUT /books/1		返回完整的资源对象			{返回修改后的}
        PATCH /books/1	 	返回完整的资源对象			{返回修改后的}
        DELETE /books/1  	返回一个空文档   
        
        {status:100,msg:查询成功,data:null}
        
    10 返回结果中带连接

drf介绍和安装

django-rest-framework是一个只针对于Django的app
可以更方便的使用Django写出符合resful规范的接口(不用也可以写符合规范的接口)

# 安装
pip3 install djangorestframework
https://www.django-rest-framework.org/
    
# 简单使用
	# 注册app
    	INSTALLED_APPS = [
            'rest_framework',
        ]
    # 路由
    	path('test/', views.Test.as_view()),
    # 视图类
    	from rest_framework.views import APIView
        from rest_framework.response import Response
        class Test(APIView):
            def get(self,request):
                return Response({'name':'a','age':'1'})
            def post(self,request):
                return Response({'name': 'b', 'age': '2'})
	# 在请求地址中访问
   		http://127.0.0.1:8000/test/