Введение
В этой статье рассматриваются основы фреймворка ExpressJS и то, как создавать RESTful API с помощью фреймворка Express на JavaScript. Фреймворк Express позволяет легко создавать и поддерживать быстрые, масштабируемые и сложные API.
Предварительные условия
Для полного понимания этой статьи вам необходимо следующее:
- Node, установленный в вашей системе.
- Установленный менеджер пакетов yarn или npm.
- Рабочие знания JavaScript.
- Понимание архитектуры REST
Что такое Express?
Express — это простой и легкий JavaScript фреймворк для построения RESTful API. Этот фреймворк обеспечивает тонкий слой абстракции над модулем Node и предоставляет утилиты для построения более сложных приложений.
REST API — это API, которые придерживаются требований архитектурного стиля REST. REST API предоставляют свой интерфейс через протокол HTTP. Эти типы API полезны при создании приложений на стороне клиента, которым необходимо взаимодействовать с сервером.
Особенности Express
Express предоставляет вам как разработчику множество преимуществ, которые заключаются в следующем:
- Легкий вес: Библиотека Express очень маленькая и легкая, что означает, что она не займет много места после установки, а время выполнения JS не займет много времени на загрузку библиотеки.
- Гибкость: Фреймворк Express является легкой абстракцией над средой выполнения Node JS, а это значит, что использование Express не мешает вам использовать нативную JS-функциональность в вашем приложении. Гибкость также позволяет устанавливать и использовать все библиотеки Node JS.
- Производительность: Фреймворк Express не снижает производительность обычного приложения на Node. REST API, созданный с помощью express, работает так же быстро, как и API, созданный с использованием.
- Надежность: Фреймворк Express представляет множество полезных инструментов и утилит, которые можно использовать для создания крупномасштабных и сложных API.
Установка Express
Существует два способа создания приложений express, которые заключаются в следующем:
- Установка express в пустой проект.
- Использование скрипта express-generator.
Пустой проект
Для установки в пустой проект начните с инициализации проекта:
npm init
Затем установите библиотеку в проект:
npm install express
После установки библиотеки express создайте файл index.js в корне проекта. По соглашению все приложения Node всегда начинаются с файла index.js.
Генератор Express
Чтобы создать проект с помощью инструмента express-generator, выполните следующую команду:
npx express-generator
Приведенная выше команда создает приложение в текущем каталоге.
Для создания экспресс-проекта в новое приложение используйте следующую команду:
npx express-generator my-express-app
Эта команда создает новую папку с именем my-express-app и создает в ней приложение.
После создания скелета приложения установите зависимости проекта:
npm install
Простой API с использованием Express
Конечные точки — это маршруты URL, которые указывают на ресурсы, обслуживаемые API. Конечные точки помогают организовать интерфейсы REST API.
Чтобы создать это приложение, напишите в файле index.js следующее:
// import the library
const express = require('express');
// create an express application
const app = express();
let recipient = "World";
// register a middleware to all the routes
app.use(express.text());
// create a simple endpoint
app.get("/greet", (req, res) => {
res.send(`Hello, ${recipient}!`); // <- the response
});
// create a simple endpoint to change the recipient
app.post("/change-recipient", (req, res) => {
recipient = req.body; // <- the body of the request
res.send(`Hello, ${recipient}`); // <- the response
});
// launch application on port 8080
app.listen(8080);
console.log("Server running..."); // <- display "Server running…" on the console
Чтобы создать конечную точку, сначала нужно создать экспресс-приложение:
// import the library
const express = require('express');
// create an express application
const app = express();
Затем вы используете метод app.use для регистрации промежуточного программного обеспечения express под названием express.text():
app.use(express.text());
Промежуточное ПО — это функция обратного вызова, которую приложение выполняет перед вызовом функции обратного вызова вашей конечной точки. Промежуточные программы помогают обрабатывать запросы перед отправкой ответа.
Функция промежуточного ПО express.text() возвращает анонимную функцию, которая является промежуточным ПО для приложения. Метод app.use() регистрирует промежуточное ПО во всех маршрутах.
Затем вы создаете конечную точку GET с помощью метода app.get():
app.get("/greet", (req, res) => {
res.send(`Hello, ${recipient}!`); // <- the response
});
Конечная точка в этом примере расположена на маршруте /greet, и функция обратного вызова, переданная в качестве второго аргумента, выполняется всякий раз, когда вы отправляете запрос GET на маршрут.
Метод res.send() используется для отправки ответа обратно клиенту.
И создайте конечную точку POST с помощью метода app.post():
app.post("/change-recipient", (req, res) => {
recipient = req.body; // <- the body of the request
res.send(`Hello, ${recipient}`); // <- the response
});
Конечная точка в этом примере расположена по маршруту /change-recipient. Чтобы получить тело запроса, используйте свойство req.body из аргумента req.
Эта конечная точка меняет получателя и возвращает сообщение hello, направленное новому получателю.
Перед запуском API необходимо указать порт, на котором он будет работать:
app.listen(8080);
Заключение
В этой статье мы рассмотрим, что такое express и его возможности, как настроить express и как создать простой express API. Если вы хотите узнать больше о фреймворке express и RESTful API, обязательно ознакомьтесь со следующими ссылками:
- Передача репрезентативного состояния — Википедия
- Что такое REST API? — Red Hat
- Примеры Express
- Использование промежуточного ПО — Express.js