Строка запроса API в Nuxt
После пути в адресе может идти
строка запроса: пары имя-значение
после ?, например /api/posts?q=first.
На сервере их удобно читать в том же
обработчике, что отдаёт весь список.
Для всех query-параметров запроса
служит функция getQuery.
Она возвращает объект: ключи -
имена параметров, значения -
строки из URL.
Пусть в posts.js хранится локальный
массив постов. Если передан q,
вернём только подходящие заголовки:
export default defineEventHandler((event) => {
const posts = [
{ id: 1, title: 'First post' },
{ id: 2, title: 'Second post' },
{ id: 3, title: 'Other note' },
];
const query = getQuery(event);
const q = query.q;
if (!q) {
return posts;
}
const needle = String(q).toLowerCase();
return posts.filter((post) => {
return post.title.toLowerCase().includes(needle);
});
});
Запрос /api/posts без параметров
отдаёт весь массив. Адрес
/api/posts?q=post сузит выборку
по подстроке в title.
Сделайте API сотрудников с локальным
массивом и фильтрацией по полю
запроса role.
Проверьте, что при разных значениях
role в строке запроса
меняется длина JSON-ответа.