Серверный маршрут в Nuxt
Не каждый серверный ответ должен
лежать под /api/ и превращаться
в JSON. Иногда нужен короткий текст
по своему пути: проверка живости сервиса,
простая подпись или служебная строка
для скрипта. Для таких адресов в Nuxt
служит папка server/routes.
Давайте разберём отличие от API.
Файл server/api/hello.js открывал
бы адрес /api/hello. Файл
в server/routes задаёт путь
без этого префикса: hello.js
обслуживает /hello.
Структура для примера:
- /server/
- /routes/
- hello.js
- /routes/
Обработчик устроен так же, как в API:
экспорт через defineEventHandler.
Если вернуть строку, клиент получит
текст, а не компонент страницы
и не автоматический JSON. При
запущенном npm run dev GET
на /hello покажет Hello -
это не страница из app/pages,
а только серверный JavaScript:
export default defineEventHandler(() => 'Hello');
Сделайте серверный маршрут
/ping, который на GET
возвращает текст pong.
Сделайте серверный маршрут
/status, который на GET
возвращает текст online.