Когда я начал локальную отладку своей первой облачной функции, я заметил, что при вызове функции из веб-приложения в базу данных добавлялись две записи, а не 1 запись (ожидаемое поведение) при использовании Postman.
Это сразу заставило меня задуматься о OPTIONS
вызове, который сейчас является частью большинства HTTP-запросов браузера.
Мне удалось обойти это, добавив
if (req.method === "POST") {
вокруг теламоя функция, но я был бы удивлен, если бы это действительно было необходимо.
Есть ли какой-нибудь другой и лучший способ?
РЕДАКТИРОВАТЬ с фрагментом кода
module.exports = async (req, res) => {
res.set("Access-Control-Allow-Origin", "*");
res.set(
"Access-Control-Allow-Headers",
"Origin, X-Requested-With, Content-Type, Accept"
);
if (req.method === "POST") {
const uri = MYMONGOURI;
const client = new MongoClient(uri, { useNewUrlParser: true });
await client.connect();
const collection = client.db(MYDB).collection(MYCOLLECTION);
const { title } = req.body;
await collection.insertOne({ title });
client.close();
res.sendStatus(201);
}
res.send("Apparently not post..");
};