API Platform 3 : Le guide complet
API Platform est la solution de référence pour créer des APIs REST et GraphQL avec Symfony. Version 3 apporte de nombreuses améliorations.
Installation et configuration
composer require api
Créer votre première ressource
#[ApiResource(
operations: [
new Get(),
new GetCollection(),
new Post(),
new Put(),
new Delete(),
],
paginationItemsPerPage: 20,
security: "is_granted('ROLE_USER')"
)]
#[ORM\Entity]
class Product
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(length: 255)]
#[Assert\NotBlank]
#[Assert\Length(min: 3, max: 255)]
private ?string $name = null;
#[ORM\Column(type: Types::DECIMAL, precision: 10, scale: 2)]
#[Assert\Positive]
private ?string $price = null;
}
Filtres et recherche
API Platform offre des filtres puissants pour vos collections :
#[ApiFilter(SearchFilter::class, properties: ['name' => 'partial'])]
#[ApiFilter(RangeFilter::class, properties: ['price'])]
#[ApiFilter(OrderFilter::class, properties: ['name', 'price'])]
class Product
{
// ...
}
Documentation automatique
API Platform génère automatiquement une documentation OpenAPI (Swagger) accessible à /api/docs.
Validation
La validation est gérée automatiquement via les contraintes Symfony Validator.