ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

FastAPI学习笔记(一)-6.路径参数及验证

2021-08-06 08:00:52  阅读:210  来源: 互联网

标签:city return 验证 FastAPI 路径 笔记 num str path


1.被装饰的函数中的入参名称若在修饰器参数(请求路径)中以大括号方式展示,则为路径参数

@app03.get('/path/{parameters}')

async def path_params01(parameters:str):

  return { "msg":parameters}

2.路径参数可以是枚举类型

# CityName类继承了str和Enum枚举类,str表示枚举的值的类型
class CityName(str, Enum):
Beijing = "Beijing 2008"
Wuhan = "Wuhan 2020"
Other = "Other"


@app03.get("/enum/{city}")
async def latest(city: CityName):

 

 返回值:

 

 



3.路径参数若是文件路径,需要加:path标识
@app03.get("/files/{file_path:path}")
async def filepath(file_path: str):
return f'the file path is {file_path}'

返回结果:

 

 



4.路径参数的验证,使用路径Path类进行验证
@app03.get("/path_/{num}")
async def path_param_validate(
num: int = Path(..., title='num数值', description="输入num数值",ge=1,le=10)
):
return num

 

 

代码如下:
 1 '''
 2 @author:invoker
 3 @project:fastapi202108
 4 @file: chapter031.py
 5 @contact:invoker2021@126.com
 6 @descript:
 7 @Date:2021/8/5 21:22
 8 @version: Python 3.7.8
 9 '''
10 
11 from fastapi import APIRouter
12 # fastapi中校验路径参数的类Path
13 from fastapi import Path
14 from enum import Enum
15 
16 app031 = APIRouter()
17 
18 """
19 3.1路径参数与数字验证
20 """
21 
22 # 1.被装饰的函数中的入参名称若在修饰器参数(请求路径)中以大括号方式展示,则为路径参数
23 @app031.get('/path/{parameters}')
24 async def path_param02(parameters: str):
25     return {"msg": parameters}
26 
27 
28 @app031.get('/path/parameters')
29 async def path_param01():
30     return {"msg": "this is a msg"}
31 
32 
33 # 2.1CityName类继承了str和Enum枚举类,str表示枚举的值的类型
34 class CityName(str, Enum):
35     Beijing = "Beijing 2008"
36     Wuhan = "Wuhan 2020"
37     Other = "Other"
38 
39 # 2.2 路径参数可以是枚举类型
40 @app031.get("/enum/{city}")
41 async def latest(city: CityName):
42     if city == CityName.Beijing:
43         return {"city_name": city, "confirmed": 1234, "death": 8}
44     if city == CityName.Wuhan:
45         return {"city_name": city, "confirmed": 123, "death": 3}
46     return {"city_name": city, "latest": "unknown"}
47 
48 # 3.路径参数传入路径时,需要加上:path表示
49 @app031.get("/files/{file_path:path}")
50 async def filepath(file_path: str):
51     return f'the file path is {file_path}'
52 
53 # 4.路径参数的验证,使用路径Path类进行验证
54 @app031.get("/path_/{num}")
55 async def path_param_validate(
56         num: int = Path(..., title='num数值', description="输入num数值",ge=1,le=10)
57 ):
58     return num
View Code

 



 

 

标签:city,return,验证,FastAPI,路径,笔记,num,str,path
来源: https://www.cnblogs.com/invoker2021/p/15106874.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有