赞
踩
drf
初识【1】前后端混合开发
django
混合bbs
项目
【2】前后端分离
api
接口api
接口规定了前后端信息交互规则的url
链接,是前后端信息交互的媒介
url
链接127.0.0.1:8080/login/?name=zhou&age=19
127.0.0.1:8080/books/
api
接口含有的内容url
: url
链接
请求方式:get post delete put…
请求参数:json
或xml
格式的key-value类型
地址栏中:(例如login/?name=zhou&age=18
数据携带着数据)
请求体中:不同的编码格式 urlencoded,json,form-data …
# urlencoded:
key=value的形式 -login/?name=zhou&age=16
# json:
json字符串的形式 {'name':'zxq','age':'20'}
# form-data :
文件混合数据
响应结果:json或xml格式的数据
http
【1】软件介绍
apifox
国产免费postwoman
开源【2】postman
windows x64
)Postman-win64-Setup.exe
,直接打开就会的到桌面快捷方式,直接使用【3】apifox
=postman+swagger[接口文档]+Mock[模拟测试数据]+JMeter
[压测工具]
web API
接口的设计风格,尤其适用于前后端分离的应用模式中url
链接使用https
- `http`
- `https`更安全
api
标识- https://api.baidu.com
- https://www.baidu.com/api
- https://api.baidu.com/v1
- https://api.baidu.com/v2
- https://api.baidu.com/users
- https://api.baidu.com/books
- https://api.baidu.com/book
- https://api.baidu.com/books - get请求:获取所有书
- https://api.baidu.com/books - post请求:新增一本书书
- https://api.baidu.com/books/1 - get请求:获取主键为1的书
- https://api.baidu.com/books/1 - put请求:整体修改主键为1的书
- https://api.baidu.com/books/1 - delete请求:删除主键为1的书
https://api.example.com/v1/zoos?name=大象
http响应状态码:
1xx,2xx,3xx,4xx,5xx
但是公司自己会定义状态码
一般,一个软件都有固定的状态码,出现错误,可以直接搜状态码
-{code:101,msg:"用户名密码错误"}
-{code:100,msg:"成功"}
#get请求返回所有结果
GET /collection:返回资源对象的列表(数组)
[{name:红楼梦,price:100},{name:红楼梦1,price:90}]
#get请求返回某个数据
GET /collection/resource:返回单个资源对象
{name:红楼梦,price:100}
#post请求增加数据--返回增加的数据
POST /collection:返回新生成的资源对象
-{name:红楼梦,price:100}
#put返回完整的资源对象
PUT /collection/resource:返回完整的资源对象
-{name:红楼梦,price:100}
#delete删除数据 返回一个空文档
DELETE /collection/resource:返回一个空文档
【示例】
{ "code": 0, "msg": "ok", "results":[ { "name":"肯德基(罗餐厅)", "location":{ "lat":31.415354, "lng":121.357339 }, "address":"月罗路2380号", "province":"上海市", "city":"上海市", "area":"宝山区", "street_id":"339ed41ae1d6dc320a5cb37c", "telephone":"(021)56761006", "detail":1, "uid":"339ed41ae1d6dc320a5cb37c" } ... ] }
【1】介绍
【2】接口中序列化
django
框架举例
django
中获取到的数据默认是模型对象(queryset
对象))转化成指定的格式【json
格式字符串,pickle二进制】提供给别人drf
安装和快速使用【1】介绍
django rest framework
django
框架上,一个可以快速实现restful规范接口的快速开发框架【2】安装
drf
是安装在django
之上的,目前的二版本支持django4.0
以上,所以要版本契合
#先控制django的版本
pip3 install django==4.2.14
#在django的基础上下载drf
pip3 install djangorestframework --upgrade
【3】简单使用
要求:利用django
框架,写出五个接口,接口中带有相关的信息参数
urls
中
#在总urls做路由分发
models.py
#定义模型表
from django.db import models
class Book(models.Model):
name = models.CharField(max_length=32)
price = models.IntegerField()
views
中
#定义视图函数
from .models import Book
from .serializer import BookSerializer
from rest_framework.viewsets import ModelViewSet
class BookView(ModelViewSet):
serializer_class = BookSerializer
queryset = Book.objects.all()
serializer.py
from rest_framework import serializers
from .models import Book
class BookSerializer(serializers.ModelSerializer):
class Meta:
model=Book
fields='__all__'
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。