From 4bd09cd313fbd25ff792ead7496bc2c49c2c4ee8 Mon Sep 17 00:00:00 2001 From: Nikolai Papin Date: Fri, 12 Dec 2025 21:12:47 +0300 Subject: [PATCH] refactor: replaced arrow functions for the sake of simplicity --- README.md | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index ca2e5a6..98562f1 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,3 @@ -![backdrop](img.jpg) - # Разрабатываем первое Web API на Node.js Для секции "Веб-разработка: пример Fullstack" @@ -165,7 +163,7 @@ npm install express // Выбираем порт из файла конфигурации .env, либо используем порт 3000 по умолчанию const PORT = process.env.PORT || 3000; - app.listen(PORT, () => { + app.listen(PORT, function() { console.log(`Сервер запущен и слушает порт ${PORT}`); }); ``` @@ -210,7 +208,7 @@ npm install express 2. **Добавьте обработчик для корневого маршрута (`/`) перед строкой `export default app;`**: ```javascript // Обработчик GET-запроса на корневой URL '/' - app.get('/', (req, res) => { + app.get('/', function(req, res) { // Устанавливаем заголовок ответа res.setHeader('Content-Type', 'text/plain'); // Отправляем текстовый ответ @@ -240,7 +238,7 @@ npm install express 1. **Один параметр**: ```javascript // Когда заходят на /hello/Максим -app.get('/hello/:name', (req, res) => { +app.get('/hello/:name', function(req, res) { const name = req.params.name; // = "Максим" res.send(`Привет, ${name}!`); }); @@ -249,7 +247,7 @@ app.get('/hello/:name', (req, res) => { 2. **Несколько параметров**: ```javascript // Когда заходят на /book/сказки/5 -app.get('/book/:genre/:page', (req, res) => { +app.get('/book/:genre/:page', function(req, res) { const genre = req.params.genre; // = "сказки" const page = req.params.page; // = "5" res.send(`Жанр: ${genre}, Страница: ${page}`); @@ -259,7 +257,7 @@ app.get('/book/:genre/:page', (req, res) => { 3. **Параметр в середине пути**: ```javascript // Когда заходят на /category/электроника/product/123 -app.get('/category/:categoryName/product/:productId', (req, res) => { +app.get('/category/:categoryName/product/:productId', function(req, res) { const category = req.params.categoryName; // = "электроника" const productId = req.params.productId; // = "123" res.send(`Категория: ${category}, Товар: ${productId}`); @@ -270,7 +268,7 @@ app.get('/category/:categoryName/product/:productId', (req, res) => { 1. В файле `app.js` добавьте маршрут: ```javascript // Пример запроса: GET http://localhost:3000/double/7 -app.get('/double/:number', (req, res) => { +app.get('/double/:number', function(req, res) { const input = req.params.number; // Получаем параметр из URL // Проверяем, является ли параметр числом @@ -391,7 +389,7 @@ if (b === 0) { 1. Создайте маршрут `GET /api/user/:id` 2. Если `:id` — число, верните JSON с информацией о пользователе: ```javascript -app.get('/api/user/:id', (req, res) => { +app.get('/api/user/:id', function(req, res) { const id = req.params.id; if (!isNaN(id)) { @@ -573,15 +571,15 @@ let nextId = 1; Для POST `/api/notes` получите текст заметки из `req.body.text`, создайте объект заметки с уникальным ID и текущей датой, добавьте его в массив с помощью `push()`, увеличьте `nextId` и верните созданную заметку. -Для GET `/api/notes/:id` найдите заметку в массиве по ID. Используйте метод `find()`: `const note = notes.find(n => n.id === id);`. Если заметка найдена — верните её, если нет — верните ошибку 404. +Для GET `/api/notes/:id` найдите заметку в массиве по ID. Используйте метод `find()`: `const note = notes.find(function(n) { return n.id === id; });`. Если заметка найдена — верните её, если нет — верните ошибку 404. -Для DELETE `/api/notes/:id` найдите индекс заметки по ID: `const index = notes.findIndex(n => n.id === id);`, затем удалите её с помощью `splice(index, 1)` и верните подтверждение удаления. +Для DELETE `/api/notes/:id` найдите индекс заметки по ID: `const index = notes.findIndex(function(n) { return n.id === id; });`, затем удалите её с помощью `splice(index, 1)` и верните подтверждение удаления. ### Важные моменты Заметки будут храниться только в памяти сервера и исчезнут при его перезапуске. Для постоянного хранения данных потребуется база данных или файловая система, но это тема для следующих занятий. ### Вопросы для самопроверки -1. Чем отличается `notes[0]` от `notes.find(n => n.id === 1)`? +1. Чем отличается `notes[0]` от `notes.find(function(n) { return n.id === 1; })`? 2. Почему лучше использовать отдельный счетчик `nextId`, а не просто длину массива? 3. Какие HTTP-методы соответствуют операциям CRUD?