API Platform — це найзручніший спосіб створення сучасних веб-API на основі Symfony або Laravel:
API Platform — це набір інструментів для розробки сучасних вебпроектів. Це фреймворк для API-first проектів, оснований на компонентах Symfony. Як і інші сучасні фреймворки, такі як Laravel і Symfony, він є як повноцінним фреймворком, так і набором незалежних PHP-компонентів і бандлів, які можна використовувати окремо.
# Основні можливості
- Експонуйте свої моделі Eloquent всього за кілька хвилин як REST API або GraphQL API
- Або одночасно обидва, використовуючи один і той же код!
- Автоматичне створення специфікації OpenAPI, що динамічно генерується з ваших моделей Eloquent та завжди актуальна
- Автоматизовані CRUD операції
- Автоматичне створення зручних інтерфейсів і майданчиків для розробки вашого API
- Автоматична пагінація колекцій
- Додавання логіки валідації через Laravel Form Request Validation
- Сумісність API Platform із системою авторизації Laravel — додайте логіку авторизації за допомогою gates та policies
- Додавання логіки фільтрації
- Використання JavaScript інструментів API Platform: адмінка та клієнт для створення
- І не тільки...
Ось кілька прикладів з документації, як ви можете експонувати свої моделі Eloquent, щоб реалізувати валідацію, параметри запиту, фільтрацію, аутентифікацію та інше.
Спочатку розглянемо приклад використання API Platform з Laravel Sanctum для додавання middleware для захисту маршрутів:
// app/Models/Book.php
use ApiPlatform\Metadata\Patch;
#[Patch(middleware: 'auth:sanctum')]
class Book extends Model
{
}
Також наведемо приклад використання інтеграції API Platform для експонування моделі Eloquent як ресурсу API з правилами валідації:
// app/Models/Book.php
use ApiPlatform\Metadata\ApiResource;
#[ApiResource(
rules: [
'title' => 'required',
]
)]
class Book extends Model
{
}
Щоб розпочати роботу з API Platform та Laravel, ознайомтеся з документацією для встановлення Laravel та API Platform. Зокрема, документація з установки API Platform проведе вас через етапи налаштування API Platform у новому проекті Laravel, створення вашої першої моделі, використання DTO та іншого. Вам не потрібно починати новий проект для використання API Platform з Laravel, ви також можете додати його до вашого існуючого додатку.