FastAPI " />

扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

FastAPI涓€庝箞瀹炵幇API鐏板害鍙戝竷

扬州沐宇科技
2024-05-10 16:17:59
FastAPI

鍦‵astAPI涓疄鐜癆PI鐏板害鍙戝竷鐨勬柟娉曟湁澶氱锛屼互涓嬫槸鍏朵腑涓€绉嶇畝鍗曠殑鏂规硶锛?/p>

  1. 鍒涘缓澶氫釜鐗堟湰鐨凙PI璺敱锛氬湪FastAPI涓紝鍙互鍒涘缓澶氫釜璺敱锛屽垎鍒唬琛ㄤ笉鍚岀増鏈殑API銆傛瘮濡傦紝鍙互鍒涘缓涓や釜璺敱鍒嗗埆浠h〃鐏板害鍙戝竷鐗堟湰鍜屾寮忕増鏈€?/li>
from fastapi import FastAPI

app = FastAPI()

# 鐏板害鍙戝竷鐗堟湰
@app.get("/v1/grey_release")
async def grey_release():
    return {"message": "This is a grey release API"}

# 姝e紡鐗堟湰
@app.get("/v1/release")
async def release():
    return {"message": "This is a release API"}
  1. 浣跨敤涓棿浠惰繘琛岀伆搴﹀彂甯冿細鍙互缂栧啓涓€涓腑闂翠欢鍑芥暟锛屾牴鎹竴瀹氱殑鏉′欢鏉ユ帶鍒舵槸鍚︽妸璇锋眰杞彂鍒板搴旂殑API璺敱銆傛瘮濡傦紝鍙互鏍规嵁璇锋眰澶翠腑鐨勪俊鎭潵鍒ゆ柇鏄惁鏄伆搴﹀彂甯冪敤鎴枫€?/li>
from fastapi import FastAPI, Request

app = FastAPI()

async def grey_release_middleware(request: Request, call_next):
    if request.headers.get("X-Grey-Release"):
        response = await call_next(request)
        return response
    else:
        return {"message": "This API is not available for you"}

@app.middleware("http")
async def add_grey_release_middleware(request: Request, call_next):
    response = await grey_release_middleware(request, call_next)
    return response

@app.get("/api")
async def api():
    return {"message": "This is a grey release API"}

浠ヤ笂鏄袱绉嶅疄鐜癆PI鐏板害鍙戝竷鐨勬柟娉曪紝寮€鍙戜汉鍛樺彲浠ユ牴鎹嚜宸辩殑瀹為檯闇€姹傚拰涓氬姟鎯呭喌閫夋嫨鍚堥€傜殑鏂规硶銆?/p>

扫码添加客服微信