240108_FastAPI

竞品: django-ninja
安装
1 | pip install fastapi |
本机非py虚拟环境的话可以pacman安装
1 | sudo pacman -S python-fastapi |
shell能识别uvicorn
就ok,pip list也都有了。
使用
就对着官方文档做,真的很方便build出API。
以后测前端axios请求发得对不对,就用FastAPI硬编码死数据,一个main.py里就搞定,很便捷!
还可以异步,稍微等两秒再返回response
1 | import asyncio |
ちなみに、修饰器定义endpoint地址时别用/docs
,这个算作保留地址用来自动生成前后端接口文档的
然后要注意CORS
1 | from fastapi.middleware.cors import CORSMiddleware |
注意和Django Ninja的違い:
Django Ninja
定义处理API endpoint的函数时记得需要一个request
参数
FastAPI定义处理api endpoint的函数直接path para, query para, request body並べる就行了
1 |
|
但django-ninja定义处理api endpoint的函数需要前面再加一个request
参数
1 |
|
- 基于OpenAPI自动生成的文档地址:
FastAPI:
http://127.0.0.1:8000/docs
django-ninja:
http://127.0.0.1:8000/xxx/docs
其中
xxx
取决于当该app模块在项目中的相对url路径, urls.py里path("xxx/", app.urls)
参考
- Title: 240108_FastAPI
- Author: Haoliang Tang
- Created at : 2024-01-08 00:00:00
- Updated at : 2025-04-29 23:23:37
- Link: https://hl-tang.github.io/2024/01/08/240108_FastAPI/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments