FastAPI涓€庝箞瀹炵幇RESTful API璁捐鍘熷垯
鍦‵astAPI涓疄鐜癛ESTful API璁捐鍘熷垯涓昏閫氳繃瀹氫箟涓嶅悓鐨勮矾鐢卞拰璇锋眰鏂规硶鏉ュ疄鐜般€備互涓嬫槸涓€浜涘父瑙佺殑RESTful API璁捐鍘熷垯鍦‵astAPI涓殑瀹炵幇鏂瑰紡锛?/p>
- 浣跨敤HTTP鏂规硶瀵硅祫婧愯繘琛屾搷浣滐細鍦‵astAPI涓紝鍙互閫氳繃瀹氫箟璺敱鍜屼娇鐢ㄥ搴旂殑HTTP鏂规硶锛堝GET銆丳OST銆丳UT銆丏ELETE绛夛級鏉ュ璧勬簮杩涜涓嶅悓鐨勬搷浣溿€?/li>
from fastapi import FastAPI
app = FastAPI()
@app.get("/items")
def read_items():
# 鑾峰彇鎵€鏈塱tems鐨勯€昏緫
@app.get("/items/{item_id}")
def read_item(item_id: int):
# 鑾峰彇鐗瑰畾item鐨勯€昏緫
@app.post("/items")
def create_item(item: Item):
# 鍒涘缓item鐨勯€昏緫
@app.put("/items/{item_id}")
def update_item(item_id: int, item: Item):
# 鏇存柊item鐨勯€昏緫
@app.delete("/items/{item_id}")
def delete_item(item_id: int):
# 鍒犻櫎item鐨勯€昏緫
- 浣跨敤URI鏉ヨ〃绀鸿祫婧愶細鍦‵astAPI涓紝鍙互閫氳繃瀹氫箟涓嶅悓鐨勮矾鐢辫矾寰勬潵琛ㄧず涓嶅悓鐨勮祫婧愶紝鍚屾椂鍙互浣跨敤璺緞鍙傛暟鏉ヤ紶閫掕祫婧愮殑鏍囪瘑绗︺€?/li>
@app.get("/items/{item_id}")
def read_item(item_id: int):
# 鑾峰彇鐗瑰畾item鐨勯€昏緫
- 浣跨敤鐘舵€佺爜鏉ヨ〃绀烘搷浣滅粨鏋滐細鍦‵astAPI涓紝鍙互閫氳繃鍦ㄨ矾鐢卞鐞嗗嚱鏁颁腑杩斿洖涓嶅悓鐨勫搷搴旂姸鎬佺爜鏉ヨ〃绀烘搷浣滅殑缁撴灉銆?/li>
from fastapi import HTTPException
@app.get("/items/{item_id}")
def read_item(item_id: int):
item = get_item_from_db(item_id)
if item is None:
raise HTTPException(status_code=404, detail="Item not found")
return item
閫氳繃浠ヤ笂鐨勬柟寮忥紝鍙互鍦‵astAPI涓疄鐜扮鍚圧ESTful API璁捐鍘熷垯鐨凙PI銆?/p>