首页 > 其他分享 >FastAPI系列:路径参数额外校验Path

FastAPI系列:路径参数额外校验Path

时间:2024-02-28 17:24:56浏览次数:35  
标签:FastAPI 校验 OpenAPI item JSON Path id Schema

路径参数额外校验Path

from  fastapi  import Path

app =  FastAPI()

@app.get('/items/{item_id}')
async  def read_items(item_id: str = Path(default=None, max_length=3, min_length=1, title='the id of item to get')):
    """
    default: 默认值,如果路径参数没有提供,将使用此值。
    alias: 别名,用于在OpenAPI和JSON Schema中替换原始参数名。
    title: 在OpenAPI和JSON Schema中的标题。
    description: 在OpenAPI和JSON Schema中的描述。
    gt, ge, lt, le: 用于数值验证,分别表示大于、大于等于、小于、小于等于。
    min_length, max_length: 用于字符串长度验证,分别表示最小长度和最大长度。
    regex: 正则表达式,用于字符串格式验证。
    example: 示例值,用于在OpenAPI和JSON Schema中展示。
    examples: 多个示例值,用于在OpenAPI和JSON Schema中展示。
    deprecated: 如果为True,表示此参数在OpenAPI和JSON Schema中已被弃用。
    include_in_schema: 如果为False,此参数将不会在OpenAPI和JSON Schema中显示。
    extra: 额外的关键字参数,将直接传递给Pydantic模型字段
    """
    results = {"item_id": item_id}
    return results

标签:FastAPI,校验,OpenAPI,item,JSON,Path,id,Schema
From: https://www.cnblogs.com/weiweivip666/p/18041120

相关文章

  • FastAPI系列:查询字符串参数
    单个查询字符串@app.get('/index/{username}')defindex(username:str,id:int):#id为查询字符串?id=5return{"message":"success","username":username,"id":id}可选的查询字符串参数@app.get('/items/{item_id}......
  • FastAPI系列:APIRouter实例的路由注册
    APIRouter实例的路由注册API端点路由注册大致分为3种:1.基于app实例对象提供的装饰器或函数进行注册2.基于FastAPI提供的APIRouter类的实例对象提供的装饰器或函数进行注册3.通过直接实例化APIRoute对象且添加的方式进行注册路由注册方式基于APIRouter的实例对象实现路由注册......
  • FastAPI系列:mount应用挂载
    mount应用挂载1.创建主app应用对象实例,注册所属的路由信息fromfastapiimportFastAPIfromfastapi.responseimportJSONResponseapp=FastAPI(title='主应用',description='主应用描述',version='v1.0.0')@app.get('/index',summary='首页')......
  • FastAPI系列:全局routes参数的使用
    全局routes参数的使用fromfastapiimportFastAPI,Requestfromfastapi.responseimportJSONResponsefromfastapi.routingimportAPIRouteasyncdeffastapi_index():returnJSONResponse({'index':'fastapi_index'})asyncdeffastapi_about()......
  • FastAPI系列:路由之节点元数据参数说明
    节点元数据参数说明#拿app.get()方法的参数来说明,其他的差不多类似defget(self,path:str,*,response_model:Optional[Type[Any]]=None,status_code:Optional[int]=None,tags:Optional[List[Union[str,Enum]]]......
  • FastAPI系列:路由之APIRouter参数介绍
    APIRouter参数介绍classAPIRouter(routing.Router):def__init__(self,*,prefix:str="",#表示当前路由分组的url前缀tags:Optional[List[Union[str,Enum]]]=None,#表示当前路由分组在可交互文档中所属的分组标签列表。一......
  • FastAPI系列 :安装启动及简单示例
    安装pip3installfastapipip3installuvicorn[standard]#是一个ASGI异步服务器网关接口服务器框架pip3installpython-multipart#处理表单参数的#完整安装pipinstallfastapi[all]启动程序#命令行启动uvicornmain:app--reload--host0.0.0.0--port8888......
  • FastAPI系统:FastAPI类参数说明
    FastAPI类参数说明def__init__(self,*,debug:bool=False,#是否启动调试模式routes:Optional[List[BaseRoute]]=None,#自定义路由列表title:str="FastAPI",#api文档的标题description:str="",#api文档的描述version:st......
  • 统一异常处理@ControllerAdvice及参数校验@Validated
    一、异常处理有异常就必须处理,通常会在方法后面throws异常,或者是在方法内部进行trycatch处理。直接throwsException直接throwsException,抛的异常太过宽泛,最好能抛出准确的异常,比如throwsIOException之类。UsergetUserById(Integerid)throwsIOException,BusinessE......
  • Java遇到PKIX path building failed错误的解决办法
    Java调用HTTPS可能出现如下错误:PKIXpathbuildingfailed:sun.security.provider.certpath.SunCertPathBuilderException:unabletofindvalidcertificationpathtorequestedtarget。测试验证测试是否会出现本问题可以使用如下命令:javaSSLPokejira.example.com443......