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

image

posted on 2024-06-02 17:27  自由港  阅读(28)  评论(0编辑  收藏  举报