Функция HTTP Event Cloud: значение тела запроса не определено - PullRequest
0 голосов
/ 15 февраля 2020

При отправке {"identifiant": "iJXB5E0PsoKq2XrU26q6"} в нижеуказанную облачную функцию я не могу получить значение identifiant в теле запроса, и оно всегда будет возвращать PROBLEMAS NO REQUEST.

import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';

admin.initializeApp();

exports.meusCandidatos = functions.https.onRequest((req, res) => {
    const identifiant = req.body.identifiant;

    if(identifiant) res.status(200).json('ok').end();

    res.status(500).json('PROBLEMAS NO REQUEST').end();

});

1 Ответ

2 голосов
/ 15 февраля 2020

В отличие от вызываемой функции , тело запроса не анализируется автоматически, и его необходимо проанализировать перед использованием.

Кроме того, json(...) вызовет end() внутренне, так что вам не нужны оба. Также убедитесь, что вы не звоните end(), send(), json(), et c. несколько раз, так как это приведет к ошибкам.

const jsonParser = require('body-parser').json();

exports.meusCandidatos = functions.https.onRequest((req, res) => {
    jsonParser(req, res, (err) => {
      if (err) {
        res.status(500).json({error: err.message});
        return; // stop here
      }

      const identifiant = req.body.identifiant;

      if (!identifiant) {
        res.status(500).json({error: 'PROBLEMAS NO REQUEST'});
        return; // stop here
      }

      // continue
      res.status(200).json({ status: 'ok' });
  })
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...