gpt4 book ai didi

python - 如何在 FastAPI 中没有路由装饰器的情况下功能性地将函数分配给路由?

转载 作者:行者123 更新时间:2023-12-05 03:25:24 43 4
gpt4 key购买 nike

在 Flask 中,可以在功能上将任意函数分配给路由:

from flask import Flask
app = Flask()

def say_hello():
return "Hello"

app.add_url_rule('/hello', 'say_hello', say_hello)

等于(带装饰器):

@app.route("/hello")
def say_hello():
return "Hello"

FastAPI有没有这么简单实用的方式(add_url_rule)?

最佳答案

您可以使用 the add_api_route method以编程方式将路由添加到路由器或应用程序:

from fastapi import FastAPI, APIRouter


def foo_it():
return {'Fooed': True}


app = FastAPI()
router = APIRouter()
router.add_api_route('/foo', endpoint=foo_it)
app.include_router(router)
app.add_api_route('/foo-app', endpoint=foo_it)

两者都在两个不同的位置公开相同的端点:

λ curl http://localhost:8000/foo
{"Fooed":true}
λ curl http://localhost:8000/foo-app
{"Fooed":true}

关于python - 如何在 FastAPI 中没有路由装饰器的情况下功能性地将函数分配给路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71996380/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com