GET请求查询始终为空

时间:2019-05-19 12:50:08

标签: firebase google-cloud-functions

我写了一个函数来检查电子邮件在集合中是否唯一。问题是,我有一个GET请求挂接到此函数上,但是该函数的req.query始终为空。

我的请求如下:us-central1/users?email=mymail@test.com

我尝试在没有Express的情况下执行此操作,然后我添加了Express,也会发生相同的问题。

完整代码:(使用npm run deploy在本地部署)

const cors = require('cors');
const app = require('express')();

app.use(cors({ origin: true }));

initializeApp();
const fireStore = firestore();

const checkUserName = (req: any, res: any) => {
    if (req.method !== 'GET') {
        return res.status(405).send(`${req.method} is not allowed`);
    }
    console.log(JSON.stringify(req.query));
    if (!req.query.hasOwnProperty('email')) {
        return res.status(400).send('Email not provided');
    }

    const email = req.query.email;

    if (email.trim().length === 0) {
        return res.status(400).send('Invalid email address');
    }

    fireStore
        .collection('users')
        .doc(email)
        .get()
        .then((doc: any) => {
            return res.status(200).send(doc);
        })
        .catch((error: any) => console.log(error));
};

app.get('/', checkUserName);

exports.users = functions.https.onRequest(app);

0 个答案:

没有答案