目录

一、版本

二、解析器

三、序列化

四、请求数据验证


一、版本

回到顶部

程序也来越大时,可能通过版本不同做不同的处理

没用rest_framework之前,我们可以通过以下这样的方式去获取。

 1 class UserView(APIView):
 2     def get(self,request,*args,**kwargs):
 3         version = request.query_params.get('version')
 4         print(version)
 5         if version=='v1':
 6             #如果版本是v1
 7             ret = {
 8                 'code':111,
 9                 'msg':'版本一的内容'
10             }
11 
12         elif version=='v2':
13             # 如果是v2
14             ret = {
15                 'code': 112,
16                 'msg': '版本二的内容'
17             }
18         else:
19             ret = {
20                 'code': 0,
21                 'msg': '不支持其他版本'
22             }
23         return Response(ret)
View Code

现在我们来用rest_framework实现一下,有两种方式

1、基于url的方式

 #基于url传参的形式
     versioning_class = QueryParameterVersioning
    #http://127.0.0.1:8080/api/users/?version=v2
    
#基于url的形式
  versioning_class = URLPathVersioning
  #http://127.0.0.1:8080/api/v1/users/

具体步骤

1 REST_FRAMEWORK = {
2     'DEFAULT_VERSION': 'v1',  #默认的版本
3     'ALLOWED_VERSIONS': ['v1','v2'],  #允许的版本
4     'VERSION_PARAM': 'version',
5 }
1、配置

相关文章:

  • 2022-12-23
  • 2021-05-22
  • 2021-05-18
  • 2021-11-09
  • 2021-05-28
  • 2021-08-10
  • 2021-08-01
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-16
  • 2022-12-23
  • 2022-12-23
  • 2021-12-28
相关资源
相似解决方案