Firebase işlevleri 404 döndürür

Nov 19 2020

Firebase işlevleri için özel bir alan oluşturmaya çalışıyorum. Özel alan zaten doğrulandı ve sorunsuz çalışıyor. Firebase işlevlerim şunun altında çalışıyor us-central1:

işte benim loginfonksiyon kodum :

const functions = require("firebase-functions");
const express = require(`express`);
const cors = require(`cors`);
const admin = require(`firebase-admin`);
admin.initializeApp();

const firestore = admin.firestore();
const appLogin = express();
appLogin.use(cors({origin:true}));

appLogin.post("/", async(req:Request, res:Response)=>{
    functions.logger.log(`received`);
    const body = req.body;
    functions.logger.log(body);
    const result = await firestore.collection(DbCollections.USER).add(body);
    return res.status(201).send(JSON.stringify({"user_id":result.id}));
}); 


exports.login = functions.https.onRequest(appLogin);

hiçbir şey süper fantezi ...

Yani, postacıda ekran görüntüsünden url kullandığımda - iyi çalışıyor. Ancak aşağıdaki gibi özel alan kullanmak istiyorum:

https://mydomai.com/api/login

İşte benim firebase.jsonbarındırma bölümüm:

  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "/api/login",
        "function": "login"
      }
    ]
  }

Ancak loginözel alan adıyla ulaşmaya çalıştığımda - beni 404herhangi bir değerli hata mesajı olmadan döndürüyor :

Herhangi bir fikir?

Yanıtlar

2 MichaelBleigh Nov 19 2020 at 21:12

Yeniden sourceyazma işlemi, işleve yapılan çağrıda URL'den kaldırılmaz, bu nedenle büyük olasılıkla değiştirmek appLogin.post("/", ...)isteyebilirsiniz appLogin.post("/api/login/", ...).