Я новичок в мире RESTful API.Итак, я учусь работать с ним без использования базы данных.В качестве упражнения я хочу построить 2 конечные точки
- POST auth / signup
POST auth / signin Когда я пытаюсь проверить свою конечную точку регистрации с почтальоном, я получаю некоторые ошибкии неожиданное поведение.Структура моих файлов такова: data / users :
let users = [
{id: 1, электронная почта: 'user@gmail.com',имя: 'You', пароль: 'Pat123'}
];
module.export = users;
route / signUp.routes.js :
const express = require('express');
const router = express.Router();
const usr = require('../data/users');
//import usr from '../data/users'; // not yet supported (nativelly)
//const m = require('../helpers/middlewares');
/* Create a new user */
router.post('/', (req, res) => {
if(!req.body.email) {
return res.status(404).send({
status: 404,
message: 'email is required',
});
} else if(!req.body.name) {
return res.status(404).send({
status: 404,
message: 'name is required'
});
}
const userNew = {
id: usr.length + 1,
email: req.body.email,
name: req.body.name,
password: 'user123',
};
usr.push(userNew);
return res.status(200).send({
status: 200,
message: 'New user added successfully',
userNew,
});
});
// Routes
module.exports = router;
У меня также есть файл конфигурации в корневом каталоге для запуска сервера через порт 3000.
Если я запускаю код выше на Почтальоне, я получаю толькорезультат первого оператора if, хотя все в порядке, чтобы пройти этот тест.Я не понимаю, почему.Если я комментирую этот блок (если и если еще), я получаю сообщение об ошибке, в котором говорится, что usr.push () не является функцией.Я провел несколько часов, пытаясь решить, но тщетно.Что-то не так с моим кодом?
Редактировать
Я изменил свою файловую структуру, я не получаю usr.push () больше не является ошибкой функции.Но блок, если еще, если все еще не работает хорошо.На запрос отвечает только первый блок, хотя я отправляю все необходимые поля или отправляю одно из них.