一直以来,我用的都是flask来构建接口,但是其实flask虽然叫轻量级,但是用起来还是不怎么舒服,了解了fastapi后,顿时感觉好用,下面我们就来初步总结下fastapi,趁周末这两天再去官网补充下
import uvicorn
from fastapi import FastAPI
from pydantic import BaseModel
class Item(BaseModel):
a: int = None
b: int = None
app = FastAPI()
@app.get("/")
async def get_info():
'''
这是一个简单的get请求
:return: 直接返回data
'''
data = {
"username": "test",
"password": "admin123"
}
return data
@app.get("/post_info2")
async def post_info2(a: int,b:int):
'''
一个带有参数的get请求
:param a:
:param b:
:return: a + b
'''
c = a + b
result = {'a': a, 'b': b, 'a+b': c}
return result
@app.post("/post_info1")
async def post_info1(request_data: Item):
'''
必须传json的post接口
:param request_data: json字段(Item类)
:return: 返回a+b的和
'''
a = request_data.a
b = request_data.b
c = a + b
result = {'a': a, 'b': b, 'a+b': c}
return result
if __name__ == '__main__':
uvicorn.run(app=app, host='192.168.10.102', port=8000)
参考链接:
https://blog.youkuaiyun.com/qq_36076898/article/details/106145237
https://blog.youkuaiyun.com/weixin_40156487/article/details/101446937
这里有两个点需要注意:
1.用postman请求的时候,对于这里是json的格式的,一定要把参数写到raw里面去
2.在post请求这里使用的是json的方式,那么要去官网看看,是不是可以改成str的方式