FastAPI 初步尝试

1. json格式

服务端

from typing import Union

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()


class Item(BaseModel):
    name: str
    price: float
    is_offer: Union[bool, None] = None


@app.get("/")
def read_root():
    return {"Hello": "World"}


@app.get("/items/{item_id}")
def read_item(item_id: int, q: Union[str, None] = None):
    return {"item_id": item_id, "q": q}


@app.post("/items/{item_id}")
def update_item(item_id: int, item: Item):
    return {"item_id": item_id, "item_name": item.name, "item_price": item.price}

客户端


import requests

url = "http://127.0.0.1:8000/items/5"

# get
params = {"q": "xxx"}
resp = requests.get(url=url, params=params)
print(resp.text)

# post
data = {
    "name": "apple",
    "price": 10,
    "is_offer": True
}
resp = requests.post(url=url, json=data)
print(resp.text)

2. form格式

服务端

from fastapi import FastAPI, Form


app = FastAPI()


@app.post("/login/")
def login(username: str = Form(...), password: str = Form(...)):
    return {"username": username, "password": password}

客户端

import requests

url = "http://127.0.0.1:8000/login/"

headers = {
    "Content-Type": "application/x-www-form-urlencoded"
}

data = {
    "username": "usr",
    "password": "123456"
}

resp = requests.post(url=url, headers=headers, data=data)
print(resp.text)
posted @   二二二狗子  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示