Routing in Express.js: Обработка запросов пользователей

В Express.js, routing это ключевая концепция, которая позволяет вам определить, как ваше приложение обрабатывает входящие HTTP-запросы от пользователей. Маршруты позволяют указать определенные действия, когда пользователи отправляют запросы на определенные URL-адреса в вашем приложении.

Шаг 1: Создание базового Route

Чтобы создать route in Express.js, вы используете app.METHOD(PATH, HANDLER) метод объекта приложения( app) для регистрации a route для определенного метода HTTP METHOD и пути PATH. HANDLER — это функция-обработчик, которая будет вызываться, когда запрос попадает в этот файл route.

Например, чтобы создать объект route, который обрабатывает GET запрос к /hello, вы можете использовать следующий код:

app.get('/hello',(req, res) => {  
  res.send('Hello, this is the /hello route!');  
});  

Шаг 2. Обработка запросов и ответов

В функции-обработчике вы можете обрабатывать входящие запросы от пользователей и отвечать, используя объекты req(запрос) и res(ответ). Объект req содержит информацию о входящем запросе, такую ​​как параметры URL, отправленные данные, IP-адрес отправителя и т. д. Объект res содержит методы для ответа на запрос, такие как res.send(), res.json(), res.render() и т. д.

Шаг 3: Обработка нескольких маршрутов

Express.js позволяет вам определить несколько маршрутов для одного и того же URL с разными методами HTTP. Например:

app.get('/hello',(req, res) => {  
  res.send('Hello, this is the GET /hello route!');  
});  
  
app.post('/hello',(req, res) => {  
  res.send('Hello, this is the POST /hello route!');  
});  

Шаг 4: Обработка динамических параметров

Вы также можете определить маршруты, содержащие динамические параметры, определяемые двоеточием( :). Например:

app.get('/users/:id',(req, res) => {  
  const userId = req.params.id;  
  res.send(`Hello, this is the GET /users/${userId} route!`);  
});  

Когда пользователь делает запрос к /users/123, userId переменная будет иметь значение «123».

Шаг 5: Разделите Routing с помощью модулей

В больших проектах вы можете захотеть разделить маршруты на отдельные файлы, чтобы ваш исходный код был организован и управляем. Вы можете использовать module.exports для определения маршрутов в отдельных файлах, а затем импортировать их в основной файл. Например:

// routes/users.js  
const express = require('express');  
const router = express.Router();  
  
router.get('/profile',(req, res) => {  
  res.send('This is the /profile route in users.js!');  
});  
  
module.exports = router;  
// app.js  
const usersRouter = require('./routes/users');  
app.use('/users', usersRouter);  

Шаг 6: Обработка несуществующих маршрутов

Наконец, если пользователь запрашивает несуществующий файл route, вы можете определить 404 route для его обработки. Это делается путем установки значения по умолчанию route в конце вашего основного файла:

app.use((req, res, next) => {  
  res.status(404).send('Route not found!');  
});  

Мы научились создавать и обрабатывать маршруты в Express.js. Используя эту функцию, вы можете гибко и эффективно настраивать и обрабатывать пользовательские запросы, делая ваше приложение более адаптируемым и масштабируемым. Продолжайте исследовать и использовать маршруты для создания многофункциональных и фантастических веб-приложений!