1.概述
在使用python 时,我如何发布一个接口给外部访问, python 有 FASTAPI 和 uvicorn 实现,fastapi 是定义 api接口,uvicorn 运行服务器。
2.安装依赖
pip install fastapi
pip install pydantic
pip install uvicorn
3.定义接口
3.1 快速上手
from fastapi import FastAPI,Body,Form,Query
from pydantic import BaseModel
import uvicorn
app=FastAPI()
@app.get("/")
def root():
return {"hello":"world"};
if(__name__=="__main__"):
uvicorn.run(app,host="0.0.0.0",port=9999)
3.2 get 定义参数
@app.get("/getUser")
async def api2(name=Query(None), sex=Query(...), age=Query(None)):
return {
"name": name,
"sex": sex,
"age": age,
}
其中 Query(None) 表示参数可以不填,Query(...) 表示参数必填
3.3 post form 参数
@app.post("/chat")
def chat(name=Form(...),address=Form(...)):
return {name : address};
这种是 post 键值对参数,参数是放到 body 中的
3.3 post json 参数
@app.post("/user")
class User(BaseModel):
name: str
age: int
def chat(user:User=Body(...)):
return {"name" : user.name,
"age":user.age};
前端传递 json 参数,参数结构为:{name:"",age:1}
3.4 post json参数 2
@app.post("/postUser")
def chat(name=Body(...),sex=Body(...),age=Body(None)):
return {"name" : name,
"sex":sex,
"age":age};
前端传递 json 参数,参数结构为:{name:"",age:1}
4. 查看文档
我们可以通过 http://localhost:9999/docs