gpt4 book ai didi

将请求转发到 Cloud Functions 时 Firebase 托管自定义域 404

转载 作者:行者123 更新时间:2023-12-02 16:48:13 27 4
gpt4 key购买 nike

我在 Google Cloud Functions (https://us-central1-myproject-name.cloudfunctions.net/api/v1/123/456/ical.ics) 上设置了一个 API。这很好用,但我希望为 api 设置一个“友好”的域名。 :)

根据 Google 的文档,这似乎很容易,但我无法弄清楚如何让托管服务于我的 api 功能。当导航到我的友好名称 ( https://api.mydomain.com/api/v1/123/456/ical.ics ) 时,我收到错误 404。

Cannot GET /api/v1/123/456/ical.ics

我已经根据文档验证了域并使用以下代码更新了 firebase.json 文件。

  {
"source": "/api/**",
"function": "api"
}

我的函数的一个非常简化的表示

const app = express()
app.use(cors({ origin: true }))
const express = require('express')

app.get('/v1/:catId/:userId/ical', async (req, res) => {
...
}

app.post('/v1/mail', async (req, res) => {
...
}

exports.api = functions.region('us-central1').https.onRequest(app)

为什么我的 api 没有被 firebase 托管域提供服务?

亲切的问候/K

最佳答案

您的 Express 路由需要与传入的 URL 完全匹配,而不仅仅是通配符部分。

app.get('/api/v1/ical', async (req, res) => {
...
}

app.post('/app/v1/mail', async (req, res) => {
...
}

我相信你也可以告诉 Express 在前缀处安装一个应用程序,以便将相同的前缀应用于所有带有 use() 的路由。方法。

关于将请求转发到 Cloud Functions 时 Firebase 托管自定义域 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59696795/

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