Flask与FastAPi
FastAPI安装与使用
交互式文档
路径与查询参数
参数使用枚举
请求与响应
自定义响应状态码
中间件_计算回调时间
类型与模型
Flask安装与使用
Gunicorn(WSGI服务)
本文档使用MrDoc发布
返回首页
-
+
FastAPI安装与使用
2021年8月18日 09:51
admin
#官网 https://fastapi.tiangolo.com/zh/ #安装 pip3 install fastapi pip3 install uvicorn #python3.7以上版本 pip3 install uvicorn==0.16.0 #python3.7以下版本 或者一步到位,将所有依赖全部安装 pip3 install fastapi[all] #示例main.py # -*- encoding: utf-8 -*- from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"} @app.get("/items/{item_id}") async def read_item(item_id: int, q: str = None): return {"item_id": item_id, "q": q} ####注意:如果您的应用程序(以某种方式)不必与其他任何东西通信并等待它响应,请使用async def --- #运行 ####命令行启动 uvicorn main:app --host '127.0.0.1' --port 8000 --reload #参数: main: main.py 文件(也可理解为Python模块). app: main.py 中app = FastAPI()语句创建的app对象. --host:指定监听IP --port:指定监听端口 --reload: 在代码改变后重启服务器,只能在开发的时候使用 --uds:绑定的 unix domain socket,一般不用 --fd:从指定的文件描述符中绑定 socket --loop:事件循环实现,可选项为 auto|asyncio|uvloop|iocp --http:HTTP 协议实现,可选项为 auto|h11|httptools --ws:websocket 协议实现,可选项为 auto|none|websockets|wsproto --lifespan:lifespan 实现,可选项为 auto|on|off --env_file:环境变量配置文件 --log_config:日志配置文件 --log_level:日志等级 --access_log:是否记录日志 --use_colors:是否带颜色输出日志信息 --interface:应用接口,可选 auto|asgi3|asgi2|wsgi --debug:是否开启 debug 模式 --reload_dirs:要自动重启的目录 --reload_delay:多少秒后自动重启 --workers:工作进程数 --limit_concurrency:并发的最大数量 --limit_max_requests:能 hold 住的最大请求数 --- ####脚本执行 #在脚本最后添加 if __name__ == '__main__': import uvicorn uvicorn.run(app, host="127.0.0.1", port=8000) ![](/media//202108/2021-08-18101647923452.png) --- ####脚本执行(多进程) #在脚本最后添加 if __name__ == '__main__': import uvicorn uvicorn.run("black_api:app", host="172.16.10.173", port=9080, workers=2) ####注意:"black_api:app",balck_api为脚本名称,app为脚本里定义的程序名 ![](/media//202310/2023-10-18112000582124.png) --- ##测试 curl http://127.0.0.1:8000/items/5?q=somequery ![](/media//202108/2021-08-18101802766088.png) --- ##交互文档 http://127.0.0.1:8000/docs ![](/media//202108/2021-08-18102148402519.png) ##API文档 http://127.0.0.1:8000/redoc ![](/media//202108/2021-08-18102201991769.png) --- #参考资料 https://blog.csdn.net/cui_yonghua/article/details/111945030 https://www.jianshu.com/p/94710ed35b92 https://blog.csdn.net/weixin_40156487/article/details/101446937
分享到: