Как я могу предоставить тело Аксиосу? - PullRequest
0 голосов
/ 21 сентября 2019

В экспрессе у меня есть валидатор, который проверяет, не являются ли входящие поля не пустыми:

exports.userSignupValidator = (req, res, next) => {
    req.check("name", "Name is required").notEmpty();
    req.check("password", "Password is required").notEmpty();
    const errors = req.validationErrors();
    if (errors) {
        const firstError = errors.map(error => error.msg)[0];
        return res.status(400).json({ error: firstError });
    }
    next();
};

Follwing 1st Axios API работает с вышеуказанным валидатором:

let jsonData = { name : name, email : email, password : password, url : `http://${site}.localhost:${port}`};

            const response = await axios.post(`http://${site}.localhost:${port}/api/signup`,jsonData, {
                headers: {
                    Accept: "application/json",
                    "Content-Type": "application/json"
                }
            });

Однако следующий API Axios не работает с валидатором выше.Валидатор, похоже, не может найти имя, адрес электронной почты и т. Д. :

let jsonData = { name : name, email : email, password : password, url : `http://${site}.localhost:${port}`};

            const response = await axios.post(`http://${site}.localhost:${port}/api/signup`, {
                headers: {
                    Accept: "application/json",
                    "Content-Type": "application/json"
                },
                body: JSON.stringify(jsonData)
            });

Я также попробовал Почтальон, и он работал с предоставлением тела, подобного 2-му с ошибкой: enter image description here enter image description here

Итак, я хочу предоставить тело, подобное 2nd Axios API, которое не удалось.Как я могу заставить его работать аксиально, чтобы выполнять свою работу, не давая данные в качестве параметра, но давая данные в теле?

...