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)
服务端
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)