Урок 01

Что такое 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.