Параметр адреса в NextJS
Один обработчик может обслуживать
много адресов, если сегмент URL
задан в квадратных скобках в имени папки.
Значение попадает во второй аргумент
функции обработчика - в объект params.
Его нужно дождаться через await,
как и параметры страницы.
Давайте вернем одного пользователя
по числовому id из пути
/users/2. Импортируем массив
и добавим файл route.js
в каталог [id]:
import { users } from '../data';
export async function GET(request, { params }) {
let { id } = await params;
let user = users.find(function (item) {
return String(item.id) === id;
});
if (!user) {
return Response.json({ message: 'User not found' }, { status: 404 });
}
return Response.json(user);
}
Сделайте обработчик для /cities/:id,
который отдает один город из вашего
модуля или сообщение об отсутствии записи.
- /src/
- /app/
- /users/
- data.js
- /[id]/
- route.js
- /users/
- /app/