使用 Python 将多个路由合并到 Vercel 中的一个无服务器函数中?



我目前有一个带有python api后端的Nextjs应用程序。我遇到的问题是Vercel限制为24个无服务器函数,他们似乎建议应该组合无服务器函数来"优化"您的函数并避免冷启动。

目前我有以下代码

from sanic import Sanic
from sanic.response import json
app = Sanic()

@app.route('/')
@app.route('/<path:path>')
async def index(request, path=""):
return json({'hello': path})
@app.route('/other_route')
async def other_route(request, path=""):
return json({'whatever': path})

但是,当我打api/other_route时,我得到了404。我知道我可以创建名为other_route.py但是我想知道是否有办法在我的index.py路由中组合该路由以避免创建另一个无服务器函数。

您需要在项目根vercel.json中创建vercel

配置。
{
"routes": [{
"src": "/api/(.*)",
"dest": "api/index.py"
}]
}

这会将所有请求路由到/即 Sanic 实例。然后,Sanic 知道如何路由到处理程序。您还应该将other_route方法中的路径参数更改为path="other_route"

相关内容

  • 没有找到相关文章

最新更新