
Привет друзья, в этой части мы продолжим читать и обновлять данные.
Сначала мы открываем UserController.js, и вы можете увидеть этот последний код в part3
А. Чтение данных

давайте создадим функцию для чтения всех данных

export const getUsers = async (req, res) => {
try {
const response = await User.findAll();
res.status(200).json(response);
} catch (error) {
console.log(error.message);
}
};
подробное объяснение построчно этого кода вы можете увидеть в части 3
const response = await User.findAll();
важным кодом является findAll()запрос для чтения всех данных в таблице users,для подробного запроса https://sequelize.org/docs/v6/core-concepts/ модель-запрос-основы/
давайте перейдем к UserRoute.js и добавим маршрут

import express from "express";
import { createUser, getUsers } from "../controllers/UserController.js";
const router = express.Router();
router.post("/users", createUser);
router.get("/users", getUsers);
export default router;
весь этот код, мы должны импортировать функцию getUsers
import { createUser, getUsers } from "../controllers/UserController.js";
и добавьте маршрут для получения пользователей методом GET после createUserroute
router.get(“/users”, getUsers);
попробуем на почтальоне

не забудьте выбрать метод и нажать отправить

мы получили все данные из базы данных.
Давайте на следующем шаге найдем данные по идентификатору, то есть прочитаем отдельные данные, вернемся к UserController.js и добавим этот код.

export const getUserById = async (req, res) => {
try {
const response = await User.findOne({
where: {
id: req.params.id,
},
});
res.status(200).json(response);
} catch (error) {
console.log(error.message);
}
};
const response = await User.findOne({
where: {
id: req.params.id,
},
});
для поиска одиночных данных мы используем метод findOne с параметром id
req.params.id
и этот код для получения идентификатора из параметра в URL-адресе.
Мы снова переходим к UserRoute.js и добавляем маршрутизацию, полученную этим методом.
import {
createUser,
getUsers,
getUserById,
} from "../controllers/UserController.js";
Не забудьте импортировать getUserById.
router.get("/user/:id", getUserById);
добавьте этот код после метода getUsers, для передачи данных ID в URL используйте /:id

это весь код и давайте попробуем с почтальоном

прежде чем пытаться getUserById, давайте добавим данные

и у нас есть 2 данных в базе данных

для получения отдельных данных используйте этот URL и после user/ добавьте id

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

Б. Обновление данных
Хорошо, следующим шагом мы создадим обновление функции и откроем UserController.js.

добавить этот код
export const updateUser = async (req, res) => {
try {
await User.update(req.body, {
where: { id: req.params.id },
});
res.status(201).json({ msg: "User updated" });
} catch (error) {
console.log(error.message);
}
};
await User.update(req.body, {
where: { id: req.params.id },
});
этот код похож на создание данных, но мы добавляем параметр id для обновления по отдельным данным и методу update
Перейдите к UserRoute.js, чтобы определить маршрутизацию и добавить функцию updateUser.
import {
createUser,
getUsers,
getUserById,
updateUser,
} from "../controllers/UserController.js";
router.patch("/user/:id", updateUser);
для маршрутизации аналогично getUserById, но для метода используйте PATCH

ладно попробуем на почтальоне

не забудьте выбрать метод PATCH и передать параметр ID.
в этом случае мы используем данные Антонио, вы можете изменить имя, адрес электронной почты или пол

в случае успеха мы получили этот ответ и давайте снова проверим с помощью метода getUserById на почтальоне

перейти на метод GET

и видим, мы успешно обновляем данные
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Создать простой CRUD API с помощью NodeJS - Установка | Часть 1
«Создание простого CRUD API с помощью NodeJS — подключение к базе данных| Часть 2"
Создание простого CRUD API с помощью NodeJS — создание данных| Часть 3
Создание простого CRUD API с помощью NodeJS — чтение и обновление данных | Часть 4
Создать простой CRUD API с помощью NodeJS — удалить данные | Часть 5