FastAPI
1.restful接口开发规范
2.quick start
async:表示函数内部可以使用异步
使程序可以直接运行,需要导入uvicorn
port:端口号,debug:开发模式,reload
3.路径操作
路径指的是 URL 中从第一个 /
起的后半部分。
例如:https://example.com/items/foo的路径是/items/foo
「路径」也通常被称为「端点」或「路由」。
@something
语法在 Python 中被称为「装饰器」。
1>路径操作装饰器
2>路径操作装饰器参数
1.
2.
3.
表示废弃
4.include_router
5.请求与响应
1>路径参数
from fastapi import FastAPI
app = FastAPI()
@app.get("/items/{item_id}")
async def read_item(item_id: int):
return {"item_id": item_id}
FastAPI 通过类型声明自动解析(将HTTP请求中的字符串转换为python数据类型)请求中的数据。
2>查询参数
声明的参数不是路径参数时,路径操作函数会把该参数自动解释为查询参数,就是url?后面的用&分割的。
类型要求
from fastapi import FastAPI
app = FastAPI()
fake_items_db = [{"item_name": "Foo"}, {"item_name": "Bar"}, {"item_name": "Baz"}]
@app.get("/items/")
async def read_item(skip: int = 0, limit: int = 10):
return fake_items_db[skip : skip + limit]
默认参数
类型注解:typing
3>请求体数据
有默认值,Field(default=0,gt=0,lt=100)限定了参数范围是0—100
Field(regex=“^a")限定名字以a开头
类型嵌套
4>form表单
Fastapi可以使用Form组件来接受表单数据
username不再是查询参数,接收时按照请求体中的Form表单进行解析
5>文件上传
6>Request对象
7>静态文件的请求
静态文件:不是由web服务器生成的文件
动态文件:服务器生成的文件
directory后面的必须与目录下的文件名保持一致
服务器访问静态文件:
8>响应模型相关参数
reponse_model:声明return响应体的模型
实现注册功能:
reponse_model_exclude_unset
排除未设置的
![
](C:\Users\刘丹\AppData\Roaming\Typora\typora-user-images\image-20240409184759794.png)
reponse_model_exclude_defaults:排除默认的
reponse_model_exclude_none:排除值为空的
include和exclude
后面跟字典
9>api接口与restful规范
api接口:应用程序对外提供了一个操作数据的入口,这个入口可以是一个函数或类方法,也可以是一个url地址或者一个网络地址,当客户端调用这个入口,应用程序则会执行对应代码操作,给客户端完成相应功能。
restful规范
REST:客户端与Web服务器之间进行交互时,使用HTTP协议中的4个请求方法代表不同的动作。
标签:请求,fastapi,路径,item,参数,items,FastAPI From: https://www.cnblogs.com/liudan050501/p/18149012