РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnuPmApInr 64 of 84 menu
◀ ▶

Введение в свой API в Nuxt

Сайт на Nuxt умеет не только отдавать HTML-страницы из app/pages. Тот же проект может отвечать на запросы с данными в формате JSON. Такие ответы удобны для списков, форм и любой логики, где браузер или другая программа ожидает не разметку, а структурированные данные.

Серверная часть проекта лежит в каталоге server. Внутри него папка api задаёт адреса, которые всегда начинаются с /api/. Имя и вложенность файлов в server/api напоминают файловый роутинг страниц: путь к файлу определяет, по какому URL клиент получит ответ.

Обработчик одного такого адреса - это JavaScript-файл с расширением .js. В нём экспортируют обработчик через defineEventHandler. Когда приходит запрос на подходящий URL, Nuxt выполняет этот код на сервере и отправляет клиенту результат.

Обратиться к API можно из браузера по полному адресу, например введя путь /api/posts в строку навигации при запущенном npm run dev. Тот же путь подойдёт для функции useFetch или функции $fetch на странице Vue: запрос уйдёт на сервер приложения, а не на внешний сайт.

Если обработчик возвращает массив или объект, Nuxt автоматически сериализует его в JSON и выставит подходящий тип содержимого. Отдельно описывать формат ответа в простых случаях не нужно: достаточно вернуть данные из функции обработчика.

Так мы получаем свой API в рамках одного Nuxt-проекта: страницы рисуют интерфейс, а каталог server/api хранит адреса с данными. Клиент может быть браузером, мобильным приложением или кодом на той же странице Vue - путь /api/ остаётся общим для всех таких обращений к серверу Nuxt.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить