Роутинг
Для введения в роутинг см. Базовый роутинг.
Маршруты (или роуты) определяются при помощи методов класса LunaticServer
(или Router
), например app.get()
для GET
запросов, app.post()
для POST
запросов и так далее.
Также, вы можете использовать метод app.use()
чтобы обрабатывать все методы запросов.
Эти методы принимают 2 аргумента: путь и обработчик. Путь - это путь запроса, а обработчик - функция, которая вызывается при получении запроса. Ниже приведён базовый пример роутинга:
import { LunaticServer } from '@shelepuginivan/lunatic'
const app = new LunaticServer()
app.get('/route', (req, res) => {
res.status(200).end()
})
Методы
Вы можете обрабатывать разные методы запросов по одному пути. Следующий код - это пример приложения, которое обрабатывает GET /
и POST /
запросы:
app.get('/route', (req, res) => {
res.status(200).json({ message: 'GET request' })
})
app.post('/route', (req, res) => {
res.status(200).json({ message: 'POST request' })
})
Вы также можете использовать enum Status
вместо чисел в качестве статуса ответа:
res.status(Status.Ok).end()
Вы можете использовать метод app.use()
чтобы обрабатывать все методы запросов:
app.use('/route', (req, res, next) => {
console.log('Я не знаю, какой метод обработал...')
next() // вызов следующего обработчика
})