当前位置:   article > 正文

python:Fastapi - 响应模型和状态码_fastapi 请求体

fastapi 请求体

简单絮叨一下

前面聊CookieHeader一些事情,今天主要聊聊关于响应的一些事情

响应就是接口的返回值,及状态码等,这个是必须要有的。其返回的数据主要是用于前端调试页面和测试进行测试的参考。




响应模型

fastapi只需要在任意路径(@app.get()@app.post()@app.put()@app.delete())操作中使用response_model 参数来声明用于响应的模型。

注意点: response_model是「装饰器」方法(getpost 等)的一个参数。不像之前的所有参数和请求体,它不属于路径操作函数。

  1. from typing import ListOptional
  2. from fastapi import FastAPI
  3. from pydantic import BaseModel, EmailStr
  4. app = FastAPI()
  5. class Item(BaseModel):
  6.     name: str
  7.     description: Optional[str] = None
  8.     price: float
  9.     tax: Optional[float] = None
  10.     tagg: List[str] = []
  11. @app.post("/items/", response_model=Item)
  12. async def create_item(item: Item):
  13.     return item

response_model就是定义返回值,因为response_modelItem赋值,请求接口后返回与输入的数据相同

启动服务:

PS E:\git_code\python-code\fastapiProject> uvicorn response_main:app --reload

请求接口:

POST http://127.0.0.1:8000/items

请求参数:

  1. {
  2.     "name""张三",
  3.     "price"3.2
  4. }

请求结果:

  1. {
  2.     "name""张三",
  3.     "description"null,
  4.     "price"3.2,
  5.     "tax"null,
  6.     "tagg": []
  7. }

如果我们输入的是含密码的,那上述那种返回与输入相同的数据就不适合该需求了,那这样就得定义输出的模型:

  1. from typing import ListOptional
  2. from fastapi import FastAPI
  3. from pydantic import BaseModel, EmailStr
  4. from fastapi import status
  5. app = Fas
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/416469
推荐阅读
相关标签
  

闽ICP备14008679号