โ ๐จ๐ป - ๐บ, โณ, ๐¶
๐ ๐ช ๐ป ๐จ๐ป ๐ธ ๐ ๐ โฎ๏ธ ๐ง ๐ธ - ๐ป, โ ๐ณ.
๐, ๐ ๐ช โ๏ธ WSGIMiddleware
& โ๏ธ โซ๏ธ ๐ ๐ ๐จ๐ป ๐ธ, ๐ผ, ๐บ, โณ, โ๏ธ.
โ๏ธ WSGIMiddleware
¶
๐ ๐ช ๐ WSGIMiddleware
.
โคด๏ธ ๐ ๐จ๐ป (โ ๐บ) ๐ฑ โฎ๏ธ ๐ ๏ธ.
& โคด๏ธ ๐ป ๐ ๐ฝ โก.
from fastapi import FastAPI
from fastapi.middleware.wsgi import WSGIMiddleware
from flask import Flask, request
from markupsafe import escape
flask_app = Flask(__name__)
@flask_app.route("/")
def flask_main():
name = request.args.get("name", "World")
return f"Hello, {escape(name)} from Flask!"
app = FastAPI()
@app.get("/v2")
def read_main():
return {"message": "Hello World"}
app.mount("/v1", WSGIMiddleware(flask_app))
โ โซ๏ธ¶
๐, ๐ ๐จ ๐ฝ โก /v1/
๐ ๐ต ๐บ ๐ธ.
& ๐ ๐ ๐ต FastAPI.
๐ฅ ๐ ๐ โซ๏ธ โฎ๏ธ Uvicorn & ๐ถ http://localhost:8000/v1/ ๐ ๐ ๐ ๐จ โช๏ธโก๏ธ ๐บ:
Hello, World from Flask!
& ๐ฅ ๐ ๐ถ http://localhost:8000/v2 ๐ ๐ ๐ ๐จ โช๏ธโก๏ธ FastAPI:
{
"message": "Hello World"
}