Параметр адреса API в Nuxt
Список постов и один пост по номеру -
разные адреса. Для второго случая
в пути появляется переменная часть,
как у динамических страниц.
В server/api сегмент задают
папкой в квадратных скобках.
Файл [id].get.js внутри server/api/posts
отвечает на /api/posts/ и значение id.
Суффикс .get в имени файла означает,
что этот обработчик срабатывает только
на метод GET. Другие методы к этому
файлу не привязаны.
Структура каталога:
- /server/
- /api/
- /posts/
- [id].get.js
- /posts/
- /api/
Имя параметра из URL читают функцией
getRouterParam. Обработчик
возвращает один объект поста:
export default defineEventHandler((event) => {
const id = getRouterParam(event, 'id');
return {
id: Number(id),
title: 'First post',
};
});
Запрос /api/posts/1 попадёт
в этот файл, а id в коде
станет строкой '1'. При необходимости
её приводят к числу, как в примере.
Сделайте API, которое по адресу
/api/cities/3 возвращает
один город с полями id
и name на английском.
Добавьте GET-обработчик для другого
числового id в том же API
и убедитесь, что параметр в URL
меняет данные ответа.