Вызов внешних конечных точек API при работе с узлом и e js и получение подробностей для ваших пользователей - PullRequest
1 голос
/ 21 февраля 2020

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

я получаю это, когда пытаюсь зарегистрировать пользователя

    {
      "status": 200,
      "message": "Account created successfully.",
      "data": {
        "name": "name of user",
        "email": "user email",
        "password": "$2b$10$0IPgBNCJhjjkasdkGb2y0CviOuxRe/bAfhFqFDqrofMaCz5f0SMtwkgBxIzm"
      }
    }

я получаю это, когда пытаюсь войти в систему зарегистрированный пользователь

{
  "status": 200,
  "message": "Account logged in successfully.",
  "data": [
    {
      "id": 9,
      "name": "username",
      "email": "useremail@gmail.com",
      "password": "$2b$10$v3/zhn0pP6BMaTlfcoaMUuMlaHPGht6v2sf03e6uB3OPIQ3ggdpdi",
      "date_created": "2020-02-21T13:15:33.000Z"
    }
  ]
}

я получаю это, когда публикую регистрационную форму с данными уже зарегистрированного пользователя

    {
      "status": 400,
      "message": "Provided email address already exists, try another",
      "data": null
    }

я получаю это, когда пытаюсь войти с неверными учетными данными

    {
      "status": 400,
      "message": "Incorrect password provided, try again.",
      "data": null
    }

пожалуйста, мой вопрос: как мне получить доступ к этим данным, чтобы я мог отправить их клиенту в моем электронном виде js

1 Ответ

0 голосов
/ 22 февраля 2020

вы можете использовать npm запрос пакета, поэтому вы устанавливаете его с этим npm i запросом , теперь вам понадобится одна функция, которую вы всегда будете вызывать, когда захотите использовать конечную точку API


    var request = require("request");

    module.exports = {

        // DATA IN { name: 'aaa', email: 'pass@gmail.com', password: '123' } FORMAT
        callAPI:function(url, data, callback){

            var options = { method: 'POST',
            url: url,
            headers: 
            {
                'cache-control': 'no-cache',
                'content-type': 'application/json'
            },
            body: data,
            json: true };

            request(options, function (error, response, result) {
            if (error){
                return callback(error);
            }else{
                callback(null, result);  
            };

            });

        }

    }

, и вы можете использовать это как пример для вызова функции


    app.post('/signup', function (req, res) {
            var data = {
                "name": req.body.name,
                "email": req.body.email,
                "password": req.body.password
            }

            functions.callAPI("https://api/endpoin/signup", data, function (error, result) {
                if (error) {
                    var response = {
                        "status": 400,
                        "message": error,
                        "data": null
                    }
                    res.render('signup', {response: response});
                } else {
                    var response = result;
                    if (response.status === 400) {
                        res.render('signup', {response: response});
                    } else {
                        res.redirect('/login');
                    }
                }
            });


        });

...