API Platform
- State Providers - адаптеры для пользовательских уровней сохраняемости, виртуальных полей, пользовательской гидратации
- The Serialization/Deserialization Process - объекты постобработки, созданные на основе полезной нагрузки, отправленной в теле HTTP-запроса
- Security - пользовательская логика авторизации
- Validation - пользовательская логика проверки
- State Processors - настраиваемая бизнес-логика и вычисления для запуска до или после сохранения (например, почта, вызов внешнего API …)
- The Normalization/Denormalization Process - настройка ресурса, отправляемого клиенту (добавление полей в документы JSON, кодирование кодов, дат …)
- Filters - создавайте фильтры для коллекций и автоматически документируйте их (OpenAPI, GraphQL, Hydra)
- Serializer Context Builders - Динамическое изменение контекста сериализации (например, групп)
- Messenger Handlers - создавайте 100% пользовательские, RPC, асинхронные, сервис-ориентированные конечные точки (следует использовать вместо пользовательских контроллеров, поскольку интеграция messenger совместима как с REST, так и с GraphQL, в то время как пользовательские контроллеры работают только с REST)
- DTOs and Data - используйте определенный класс для представления структуры входных или выходных данных, связанных с операцией
- Kernel Events - настройте HTTP-запрос или ответ (только REST, по возможности следует предпочесть другие точки расширения)
Версии
версии 2.6
<?php // api/src/Entity/Book.php namespace App\Entity; use ApiPlatform\Core\Annotation\ApiResource; #[ApiResource( iri: 'https://schema.org/Book', itemOperations: [ 'get', 'post_publication' => [ 'method' => 'POST', 'path' => '/books/{id}/publication', ], ]) ] class Book { // ... }
версии 2.7
<?php // api/src/Entity/Book.php namespace App\Entity; use ApiPlatform\Metadata\ApiResource; use ApiPlatform\Metadata\Get; use ApiPlatform\Metadata\Post; use App\Controller\CreateBookPublication; #[ApiResource(types: ['https://schema.org/Book'], operations: [ new Get(), new Post(name: 'publication', uriTemplate: '/books/{id}/publication') ])] class Book { // ... }
Symfony / API Platform
2023/09/12 15:57 | linkbacks Linkbacks | symfony | ||
2024/04/14 23:41 | linkbacks Linkbacks | php, api-platform, symfony | ||
2024/04/15 20:27 | linkbacks Linkbacks | php, api-platform, symfony | ||
2024/04/15 23:30 | linkbacks Linkbacks | php, api-platform, symfony | ||
2024/04/16 00:55 | linkbacks Linkbacks | php, api-platform, symfony | ||
2024/04/15 21:01 | linkbacks Linkbacks | php, api-platform, symfony | ||
2024/04/15 22:07 | linkbacks Linkbacks | php, api-platform, symfony | ||
2024/04/14 23:52 | linkbacks Linkbacks | php, api-platform, symfony | ||
2024/04/15 20:23 | linkbacks Linkbacks | php, api-platform, symfony |