赞
踩
简单絮叨一下
前面聊Cookie
和Header
一些事情,今天主要聊聊关于响应的一些事情
响应就是接口的返回值,及状态码等,这个是必须要有的。其返回的数据主要是用于前端调试页面和测试进行测试的参考。
响应模型
fastapi
只需要在任意路径(@app.get()
、@app.post()
、@app.put()
、@app.delete()
)操作中使用response_model
参数来声明用于响应的模型。
注意点:
response_model
是「装饰器」方法(get
,post
等)的一个参数。不像之前的所有参数和请求体,它不属于路径操作函数。
- from typing import List, Optional
- from fastapi import FastAPI
- from pydantic import BaseModel, EmailStr
-
- app = FastAPI()
-
-
- class Item(BaseModel):
- name: str
- description: Optional[str] = None
- price: float
- tax: Optional[float] = None
- tagg: List[str] = []
-
-
- @app.post("/items/", response_model=Item)
- async def create_item(item: Item):
- return item
response_model
就是定义返回值,因为response_model
被Item
赋值,请求接口后返回与输入的数据相同
启动服务:
PS E:\git_code\python-code\fastapiProject> uvicorn response_main:app --reload
请求接口:
POST http://127.0.0.1:8000/items
请求参数:
- {
- "name": "张三",
- "price": 3.2
- }
请求结果:
- {
- "name": "张三",
- "description": null,
- "price": 3.2,
- "tax": null,
- "tagg": []
- }
如果我们输入的是含密码的,那上述那种返回与输入相同的数据就不适合该需求了,那这样就得定义输出的模型:
- from typing import List, Optional
- from fastapi import FastAPI
- from pydantic import BaseModel, EmailStr
- from fastapi import status
-
- app = Fas
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。