§ API Platform — Note d'atelier

Créer une API REST complète avec API Platform 3

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.

§ En parler ?

Un projet en tête ?

Si cette note fait écho à un chantier en cours chez vous, parlons-en. Un appel de 15 minutes pour cadrer, sans engagement.

Réserver un créneau contact@vulcain.agency