Что такое API
API (Application Programming Interface) — это интерфейс, через который одна программа общается с другой. В веб-разработке API обычно означает HTTP-эндпоинт, который принимает запросы и возвращает данные в формате JSON.
Чем API отличается от обычного сайта
Обычный сайт возвращает HTML — готовую страницу для браузера. API возвращает данные — обычно JSON. Клиент сам решает, как эти данные отобразить.
Клиентами API могут быть:
- SPA на React, Vue, Angular
- Мобильные приложения
- Другие серверы
- Скрипты и CLI-утилиты
REST
REST — это стиль проектирования API, основанный на ресурсах. Каждый ресурс — это сущность (пост, пользователь, заказ). Действия над ресурсом выражаются через HTTP-методы.
Соглашение:
| Метод | URL | Действие |
|---|---|---|
| GET | /api/posts | Список постов |
| POST | /api/posts | Создать пост |
| GET | /api/posts/{id} | Один пост |
| PUT/PATCH | /api/posts/{id} | Обновить |
| DELETE | /api/posts/{id} | Удалить |
JSON
JSON — стандартный формат обмена. Laravel автоматически преобразует массивы и модели в JSON, если запрос ожидает JSON (Accept: application/json).
Stateless
API не хранит состояние между запросами. Каждый запрос содержит всё необходимое: токен, параметры, тело. Сессии не используются.
Файл routes/api.php
В Laravel API-роуты живут в routes/api.php. Они автоматически получают префикс /api и middleware api.
use Illuminate\Support\Facades\Route;
Route::get('/posts', function () {
return Post::all();
});
URL будет /api/posts.