Reference
C
Class

ApiPlatform\Metadata\HttpOperation

class ApiPlatform\Metadata\HttpOperation extends ApiPlatform\Metadata\Operation
{
    public __construct(string $method, null|string $uriTemplate, null|array<int, string> $types, array<int
string, string
array<int, string>>|string $formats, array<int
string, string
array<int, string>>|string $inputFormats, array<int
string, string
array<int, string>>|string $outputFormats, array<string, array
array
ApiPlatform\Metadata\Link>|array<int, string>|string $uriVariables, null|string $routePrefix, null|string $routeName, null|array $defaults, null|array $requirements, null|array $options, null|bool $stateless, null|string $sunset, null|string $acceptPatch, string|int $status, null|string $host, null|array $schemes, null|string $condition, null|string $controller, null|array $cacheHeaders, null|array $paginationViaCursor, null|array $hydraContext, null|array $openapiContext, null|ApiPlatform\OpenApi\Model\Operation|bool $openapi, null|array $exceptionToStatus, null|bool $queryParameterValidationEnabled, null|string $shortName, null|string $class, null|bool $paginationEnabled, null|string $paginationType, null|int $paginationItemsPerPage, null|int $paginationMaximumItemsPerPage, null|bool $paginationPartial, null|bool $paginationClientEnabled, null|bool $paginationClientItemsPerPage, null|bool $paginationClientPartial, null|bool $paginationFetchJoinCollection, null|bool $paginationUseOutputWalkers, null|array $order, null|string $description, null|array $normalizationContext, null|array $denormalizationContext, null|bool $collectDenormalizationErrors, null|string $security, null|string $securityMessage, null|string $securityPostDenormalize, null|string $securityPostDenormalizeMessage, null|string $securityPostValidation, null|string $securityPostValidationMessage, null|string $deprecationReason, null|array $filters, null|array $validationContext, array|string|false $input, array|string|false $output, string|array|bool $mercure, string|bool $messenger, null|bool $elasticsearch, null|int $urlGenerationStrategy, null|bool $read, null|bool $deserialize, null|bool $validate, null|bool $write, null|bool $serialize, null|bool $fetchPartial, null|bool $forceEager, null|int $priority, null|string $name, string|callable $provider, string|callable $processor, null|ApiPlatform\State\OptionsInterface $stateOptions, array $extraProperties)
    public getMethod(): string
    public withMethod(string $method): ApiPlatform\Metadata\HttpOperation
    public getUriTemplate(): string
    public withUriTemplate(null|string $uriTemplate)
    public getTypes(): array
    public withTypes(array<int, string>|string $types): ApiPlatform\Metadata\HttpOperation
    public getFormats()
    public withFormats($formats): ApiPlatform\Metadata\HttpOperation
    public getInputFormats()
    public withInputFormats($inputFormats): ApiPlatform\Metadata\HttpOperation
    public getOutputFormats()
    public withOutputFormats($outputFormats): ApiPlatform\Metadata\HttpOperation
    public getUriVariables()
    public withUriVariables($uriVariables): ApiPlatform\Metadata\HttpOperation
    public getRoutePrefix(): string
    public withRoutePrefix(string $routePrefix): ApiPlatform\Metadata\HttpOperation
    public getRouteName(): string
    public withRouteName(null|string $routeName): ApiPlatform\Metadata\HttpOperation
    public getDefaults(): array
    public withDefaults(array $defaults): ApiPlatform\Metadata\HttpOperation
    public getRequirements(): array
    public withRequirements(array $requirements): ApiPlatform\Metadata\HttpOperation
    public getOptions(): array
    public withOptions(array $options): ApiPlatform\Metadata\HttpOperation
    public getStateless(): bool
    public withStateless($stateless): ApiPlatform\Metadata\HttpOperation
    public getSunset(): string
    public withSunset(string $sunset): ApiPlatform\Metadata\HttpOperation
    public getAcceptPatch(): string
    public withAcceptPatch(string $acceptPatch): ApiPlatform\Metadata\HttpOperation
    public getStatus(): int
    public withStatus(int $status): ApiPlatform\Metadata\HttpOperation
    public getHost(): string
    public withHost(string $host): ApiPlatform\Metadata\HttpOperation
    public getSchemes(): array
    public withSchemes(array $schemes): ApiPlatform\Metadata\HttpOperation
    public getCondition(): string
    public withCondition(string $condition): ApiPlatform\Metadata\HttpOperation
    public getController(): string
    public withController(string $controller): ApiPlatform\Metadata\HttpOperation
    public getCacheHeaders(): array
    public withCacheHeaders(array $cacheHeaders): ApiPlatform\Metadata\HttpOperation
    public getPaginationViaCursor(): array
    public withPaginationViaCursor(array $paginationViaCursor): ApiPlatform\Metadata\HttpOperation
    public getHydraContext(): array
    public withHydraContext(array $hydraContext): ApiPlatform\Metadata\HttpOperation
    public getOpenapiContext(): array
    public withOpenapiContext(array $openapiContext): ApiPlatform\Metadata\HttpOperation
    public getOpenapi(): ApiPlatform\OpenApi\Model\Operation|bool
    public withOpenapi(ApiPlatform\OpenApi\Model\Operation|bool $openapi): ApiPlatform\Metadata\HttpOperation
    public getExceptionToStatus(): array
    public withExceptionToStatus(array $exceptionToStatus): ApiPlatform\Metadata\HttpOperation
    public getQueryParameterValidationEnabled(): bool
    public withQueryParameterValidationEnabled(bool $queryParameterValidationEnabled): ApiPlatform\Metadata\HttpOperation
    public withOperation($operation)
    public canRead(): bool
    public withRead(bool $read): ApiPlatform\Metadata\Operation
    public canDeserialize(): bool
    public withDeserialize(bool $deserialize): ApiPlatform\Metadata\Operation
    public canValidate(): bool
    public withValidate(bool $validate): ApiPlatform\Metadata\Operation
    public canWrite(): bool
    public withWrite(bool $write): ApiPlatform\Metadata\Operation
    public canSerialize(): bool
    public withSerialize(bool $serialize): ApiPlatform\Metadata\Operation
    public getPriority(): int
    public withPriority(int $priority): ApiPlatform\Metadata\Operation
    public getName(): string
    public withName(string $name): ApiPlatform\Metadata\Operation
    public getShortName(): string
    public withShortName(string $shortName): static
    public getClass(): string
    public withClass(string $class): static
    public getDescription(): string
    public withDescription(null|string $description): static
    public getUrlGenerationStrategy(): int
    public withUrlGenerationStrategy(int $urlGenerationStrategy): static
    public getDeprecationReason(): string
    public withDeprecationReason($deprecationReason): static
    public getNormalizationContext(): array
    public withNormalizationContext(array $normalizationContext): static
    public getDenormalizationContext(): array
    public withDenormalizationContext(array $denormalizationContext): static
    public getCollectDenormalizationErrors(): bool
    public withCollectDenormalizationErrors(null|bool $collectDenormalizationErrors): static
    public getValidationContext(): array
    public withValidationContext(array $validationContext): static
    public getFilters(): array<int, string>
    public withFilters(array $filters): static
    public getElasticsearch(): bool
    public withElasticsearch(bool $elasticsearch): static
    public getMercure(): array|bool
    public withMercure($mercure): static
    public getMessenger()
    public withMessenger($messenger): static
    public getInput()
    public withInput($input): static
    public getOutput()
    public withOutput($output): static
    public getOrder(): array
    public withOrder(array $order): static
    public getFetchPartial(): bool
    public withFetchPartial(bool $fetchPartial): static
    public getForceEager(): bool
    public withForceEager(bool $forceEager): static
    public getPaginationEnabled(): bool
    public withPaginationEnabled(bool $paginationEnabled): static
    public getPaginationType(): string
    public withPaginationType(string $paginationType): static
    public getPaginationItemsPerPage(): int
    public withPaginationItemsPerPage(int $paginationItemsPerPage): static
    public getPaginationMaximumItemsPerPage(): int
    public withPaginationMaximumItemsPerPage(int $paginationMaximumItemsPerPage): static
    public getPaginationPartial(): bool
    public withPaginationPartial(bool $paginationPartial): static
    public getPaginationClientEnabled(): bool
    public withPaginationClientEnabled(bool $paginationClientEnabled): static
    public getPaginationClientItemsPerPage(): bool
    public withPaginationClientItemsPerPage(bool $paginationClientItemsPerPage): static
    public getPaginationClientPartial(): bool
    public withPaginationClientPartial(bool $paginationClientPartial): static
    public getPaginationFetchJoinCollection(): bool
    public withPaginationFetchJoinCollection(bool $paginationFetchJoinCollection): static
    public getPaginationUseOutputWalkers(): bool
    public withPaginationUseOutputWalkers(bool $paginationUseOutputWalkers): static
    public getSecurity(): string
    public withSecurity($security): static
    public getSecurityMessage(): string
    public withSecurityMessage(string $securityMessage): static
    public getSecurityPostDenormalize(): string
    public withSecurityPostDenormalize($securityPostDenormalize): static
    public getSecurityPostDenormalizeMessage(): string
    public withSecurityPostDenormalizeMessage(string $securityPostDenormalizeMessage): static
    public getSecurityPostValidation(): string
    public withSecurityPostValidation(null|string $securityPostValidation): static
    public getSecurityPostValidationMessage(): string
    public withSecurityPostValidationMessage(null|string $securityPostValidationMessage): static
    public getProcessor(): callable|string
    public withProcessor(null|callable|string $processor): static
    public getProvider(): callable|string
    public withProvider(null|callable|string $provider): static
    public getStateOptions(): ApiPlatform\State\OptionsInterface
    public withStateOptions(null|ApiPlatform\State\OptionsInterface $stateOptions): static
    public getExtraProperties(): array
    public withExtraProperties(array $extraProperties): static
    protected copyFrom(ApiPlatform\Metadata\Metadata $resource): static
}
class ApiPlatform\Metadata\HttpOperation extends ApiPlatform\Metadata\Operation
{
    public __construct(string $method, null|string $uriTemplate, null|array<int, string> $types, array<int
string, string
array<int, string>>|string $formats, array<int
string, string
array<int, string>>|string $inputFormats, array<int
string, string
array<int, string>>|string $outputFormats, array<string, array
array
ApiPlatform\Metadata\Link>|array<int, string>|string $uriVariables, null|string $routePrefix, null|string $routeName, null|array $defaults, null|array $requirements, null|array $options, null|bool $stateless, null|string $sunset, null|string $acceptPatch, string|int $status, null|string $host, null|array $schemes, null|string $condition, null|string $controller, null|array $cacheHeaders, null|array $paginationViaCursor, null|array $hydraContext, null|array $openapiContext, null|ApiPlatform\OpenApi\Model\Operation|bool $openapi, null|array $exceptionToStatus, null|bool $queryParameterValidationEnabled, null|string $shortName, null|string $class, null|bool $paginationEnabled, null|string $paginationType, null|int $paginationItemsPerPage, null|int $paginationMaximumItemsPerPage, null|bool $paginationPartial, null|bool $paginationClientEnabled, null|bool $paginationClientItemsPerPage, null|bool $paginationClientPartial, null|bool $paginationFetchJoinCollection, null|bool $paginationUseOutputWalkers, null|array $order, null|string $description, null|array $normalizationContext, null|array $denormalizationContext, null|bool $collectDenormalizationErrors, null|string $security, null|string $securityMessage, null|string $securityPostDenormalize, null|string $securityPostDenormalizeMessage, null|string $securityPostValidation, null|string $securityPostValidationMessage, null|string $deprecationReason, null|array $filters, null|array $validationContext, array|string|false $input, array|string|false $output, string|array|bool $mercure, string|bool $messenger, null|bool $elasticsearch, null|int $urlGenerationStrategy, null|bool $read, null|bool $deserialize, null|bool $validate, null|bool $write, null|bool $serialize, null|bool $fetchPartial, null|bool $forceEager, null|int $priority, null|string $name, string|callable $provider, string|callable $processor, null|ApiPlatform\State\OptionsInterface $stateOptions, array $extraProperties)
    public getMethod(): string
    public withMethod(string $method): ApiPlatform\Metadata\HttpOperation
    public getUriTemplate(): string
    public withUriTemplate(null|string $uriTemplate)
    public getTypes(): array
    public withTypes(array<int, string>|string $types): ApiPlatform\Metadata\HttpOperation
    public getFormats()
    public withFormats($formats): ApiPlatform\Metadata\HttpOperation
    public getInputFormats()
    public withInputFormats($inputFormats): ApiPlatform\Metadata\HttpOperation
    public getOutputFormats()
    public withOutputFormats($outputFormats): ApiPlatform\Metadata\HttpOperation
    public getUriVariables()
    public withUriVariables($uriVariables): ApiPlatform\Metadata\HttpOperation
    public getRoutePrefix(): string
    public withRoutePrefix(string $routePrefix): ApiPlatform\Metadata\HttpOperation
    public getRouteName(): string
    public withRouteName(null|string $routeName): ApiPlatform\Metadata\HttpOperation
    public getDefaults(): array
    public withDefaults(array $defaults): ApiPlatform\Metadata\HttpOperation
    public getRequirements(): array
    public withRequirements(array $requirements): ApiPlatform\Metadata\HttpOperation
    public getOptions(): array
    public withOptions(array $options): ApiPlatform\Metadata\HttpOperation
    public getStateless(): bool
    public withStateless($stateless): ApiPlatform\Metadata\HttpOperation
    public getSunset(): string
    public withSunset(string $sunset): ApiPlatform\Metadata\HttpOperation
    public getAcceptPatch(): string
    public withAcceptPatch(string $acceptPatch): ApiPlatform\Metadata\HttpOperation
    public getStatus(): int
    public withStatus(int $status): ApiPlatform\Metadata\HttpOperation
    public getHost(): string
    public withHost(string $host): ApiPlatform\Metadata\HttpOperation
    public getSchemes(): array
    public withSchemes(array $schemes): ApiPlatform\Metadata\HttpOperation
    public getCondition(): string
    public withCondition(string $condition): ApiPlatform\Metadata\HttpOperation
    public getController(): string
    public withController(string $controller): ApiPlatform\Metadata\HttpOperation
    public getCacheHeaders(): array
    public withCacheHeaders(array $cacheHeaders): ApiPlatform\Metadata\HttpOperation
    public getPaginationViaCursor(): array
    public withPaginationViaCursor(array $paginationViaCursor): ApiPlatform\Metadata\HttpOperation
    public getHydraContext(): array
    public withHydraContext(array $hydraContext): ApiPlatform\Metadata\HttpOperation
    public getOpenapiContext(): array
    public withOpenapiContext(array $openapiContext): ApiPlatform\Metadata\HttpOperation
    public getOpenapi(): ApiPlatform\OpenApi\Model\Operation|bool
    public withOpenapi(ApiPlatform\OpenApi\Model\Operation|bool $openapi): ApiPlatform\Metadata\HttpOperation
    public getExceptionToStatus(): array
    public withExceptionToStatus(array $exceptionToStatus): ApiPlatform\Metadata\HttpOperation
    public getQueryParameterValidationEnabled(): bool
    public withQueryParameterValidationEnabled(bool $queryParameterValidationEnabled): ApiPlatform\Metadata\HttpOperation
    public withOperation($operation)
    public canRead(): bool
    public withRead(bool $read): ApiPlatform\Metadata\Operation
    public canDeserialize(): bool
    public withDeserialize(bool $deserialize): ApiPlatform\Metadata\Operation
    public canValidate(): bool
    public withValidate(bool $validate): ApiPlatform\Metadata\Operation
    public canWrite(): bool
    public withWrite(bool $write): ApiPlatform\Metadata\Operation
    public canSerialize(): bool
    public withSerialize(bool $serialize): ApiPlatform\Metadata\Operation
    public getPriority(): int
    public withPriority(int $priority): ApiPlatform\Metadata\Operation
    public getName(): string
    public withName(string $name): ApiPlatform\Metadata\Operation
    public getShortName(): string
    public withShortName(string $shortName): static
    public getClass(): string
    public withClass(string $class): static
    public getDescription(): string
    public withDescription(null|string $description): static
    public getUrlGenerationStrategy(): int
    public withUrlGenerationStrategy(int $urlGenerationStrategy): static
    public getDeprecationReason(): string
    public withDeprecationReason($deprecationReason): static
    public getNormalizationContext(): array
    public withNormalizationContext(array $normalizationContext): static
    public getDenormalizationContext(): array
    public withDenormalizationContext(array $denormalizationContext): static
    public getCollectDenormalizationErrors(): bool
    public withCollectDenormalizationErrors(null|bool $collectDenormalizationErrors): static
    public getValidationContext(): array
    public withValidationContext(array $validationContext): static
    public getFilters(): array<int, string>
    public withFilters(array $filters): static
    public getElasticsearch(): bool
    public withElasticsearch(bool $elasticsearch): static
    public getMercure(): array|bool
    public withMercure($mercure): static
    public getMessenger()
    public withMessenger($messenger): static
    public getInput()
    public withInput($input): static
    public getOutput()
    public withOutput($output): static
    public getOrder(): array
    public withOrder(array $order): static
    public getFetchPartial(): bool
    public withFetchPartial(bool $fetchPartial): static
    public getForceEager(): bool
    public withForceEager(bool $forceEager): static
    public getPaginationEnabled(): bool
    public withPaginationEnabled(bool $paginationEnabled): static
    public getPaginationType(): string
    public withPaginationType(string $paginationType): static
    public getPaginationItemsPerPage(): int
    public withPaginationItemsPerPage(int $paginationItemsPerPage): static
    public getPaginationMaximumItemsPerPage(): int
    public withPaginationMaximumItemsPerPage(int $paginationMaximumItemsPerPage): static
    public getPaginationPartial(): bool
    public withPaginationPartial(bool $paginationPartial): static
    public getPaginationClientEnabled(): bool
    public withPaginationClientEnabled(bool $paginationClientEnabled): static
    public getPaginationClientItemsPerPage(): bool
    public withPaginationClientItemsPerPage(bool $paginationClientItemsPerPage): static
    public getPaginationClientPartial(): bool
    public withPaginationClientPartial(bool $paginationClientPartial): static
    public getPaginationFetchJoinCollection(): bool
    public withPaginationFetchJoinCollection(bool $paginationFetchJoinCollection): static
    public getPaginationUseOutputWalkers(): bool
    public withPaginationUseOutputWalkers(bool $paginationUseOutputWalkers): static
    public getSecurity(): string
    public withSecurity($security): static
    public getSecurityMessage(): string
    public withSecurityMessage(string $securityMessage): static
    public getSecurityPostDenormalize(): string
    public withSecurityPostDenormalize($securityPostDenormalize): static
    public getSecurityPostDenormalizeMessage(): string
    public withSecurityPostDenormalizeMessage(string $securityPostDenormalizeMessage): static
    public getSecurityPostValidation(): string
    public withSecurityPostValidation(null|string $securityPostValidation): static
    public getSecurityPostValidationMessage(): string
    public withSecurityPostValidationMessage(null|string $securityPostValidationMessage): static
    public getProcessor(): callable|string
    public withProcessor(null|callable|string $processor): static
    public getProvider(): callable|string
    public withProvider(null|callable|string $provider): static
    public getStateOptions(): ApiPlatform\State\OptionsInterface
    public withStateOptions(null|ApiPlatform\State\OptionsInterface $stateOptions): static
    public getExtraProperties(): array
    public withExtraProperties(array $extraProperties): static
    protected copyFrom(ApiPlatform\Metadata\Metadata $resource): static
}

Properties

method

string $method
string $method

uriTemplate

string $uriTemplate
string $uriTemplate

types

array $types
array $types

formats

$formats
$formats

inputFormats

$inputFormats
$inputFormats

outputFormats

$outputFormats
$outputFormats

uriVariables

$uriVariables
$uriVariables

routePrefix

string $routePrefix
string $routePrefix

routeName

string $routeName
string $routeName

defaults

array $defaults
array $defaults

requirements

array $requirements
array $requirements

options

array $options
array $options

stateless

bool $stateless
bool $stateless

sunset

string $sunset
string $sunset

The sunset option indicates when a deprecated operation will be removed.

<?php
// api/src/Entity/Parchment.php
use ApiPlatform\Metadata\Get;
 
#[Get(deprecationReason: 'Create a Book instead', sunset: '01/01/2020')]
class Parchment
{
    // ...
}
<?php
// api/src/Entity/Parchment.php
use ApiPlatform\Metadata\Get;
 
#[Get(deprecationReason: 'Create a Book instead', sunset: '01/01/2020')]
class Parchment
{
    // ...
}

acceptPatch

string $acceptPatch
string $acceptPatch

status

$status
$status

host

string $host
string $host

schemes

array $schemes
array $schemes

condition

string $condition
string $condition

controller

string $controller
string $controller

cacheHeaders

array $cacheHeaders
array $cacheHeaders

paginationViaCursor

array $paginationViaCursor
array $paginationViaCursor

hydraContext

array $hydraContext
array $hydraContext

openapiContext

array $openapiContext
array $openapiContext

openapi

exceptionToStatus

array $exceptionToStatus
array $exceptionToStatus

queryParameterValidationEnabled

bool $queryParameterValidationEnabled
bool $queryParameterValidationEnabled

shortName

string $shortName
string $shortName

class

string $class
string $class

paginationEnabled

bool $paginationEnabled
bool $paginationEnabled

The paginationEnabled option enables (or disables) the pagination for the current collection operation.

<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationEnabled: true)]
class Book
{
    // ...
}
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationEnabled: true)]
class Book
{
    // ...
}

paginationType

string $paginationType
string $paginationType

The paginationType option defines the type of pagination (page or cursor) to use for the current collection operation.

<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationType: 'page')]
class Book
{
    // ...
}
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationType: 'page')]
class Book
{
    // ...
}

paginationItemsPerPage

int $paginationItemsPerPage
int $paginationItemsPerPage

The paginationItemsPerPage option defines the number of items per page for the current collection operation.

<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationItemsPerPage: 30)]
class Book
{
    // ...
}
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationItemsPerPage: 30)]
class Book
{
    // ...
}

paginationMaximumItemsPerPage

int $paginationMaximumItemsPerPage
int $paginationMaximumItemsPerPage

The paginationMaximumItemsPerPage option defines the maximum number of items per page for the current resource.

<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationMaximumItemsPerPage: 50)]
class Book
{
    // ...
}
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationMaximumItemsPerPage: 50)]
class Book
{
    // ...
}

paginationPartial

bool $paginationPartial
bool $paginationPartial

The paginationPartial option enables (or disables) the partial pagination for the current collection operation.

<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationPartial: true)]
class Book
{
    // ...
}
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationPartial: true)]
class Book
{
    // ...
}

paginationClientEnabled

bool $paginationClientEnabled
bool $paginationClientEnabled

The paginationClientEnabled option allows (or disallows) the client to enable (or disable) the pagination for the current collection operation.

<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationClientEnabled: true)]
class Book
{
    // ...
}
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationClientEnabled: true)]
class Book
{
    // ...
}

The pagination can now be enabled (or disabled) by adding a query parameter named pagination:

  • GET /books?pagination=false: disabled
  • GET /books?pagination=true: enabled

paginationClientItemsPerPage

bool $paginationClientItemsPerPage
bool $paginationClientItemsPerPage

The paginationClientItemsPerPage option allows (or disallows) the client to set the number of items per page for the current collection operation.

<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationClientItemsPerPage: true)]
class Book
{
    // ...
}
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationClientItemsPerPage: true)]
class Book
{
    // ...
}

The number of items can now be set by adding a query parameter named itemsPerPage:

  • GET /books?itemsPerPage=50

paginationClientPartial

bool $paginationClientPartial
bool $paginationClientPartial

The paginationClientPartial option allows (or disallows) the client to enable (or disable) the partial pagination for the current collection operation.

<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationClientPartial: true)]
class Book
{
    // ...
}
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationClientPartial: true)]
class Book
{
    // ...
}

The partial pagination can now be enabled (or disabled) by adding a query parameter named partial:

  • GET /books?partial=false: disabled
  • GET /books?partial=true: enabled

paginationFetchJoinCollection

bool $paginationFetchJoinCollection
bool $paginationFetchJoinCollection

The PaginationExtension of API Platform performs some checks on the QueryBuilder to guess, in most common cases, the correct values to use when configuring the Doctrine ORM Paginator: $fetchJoinCollection argument, whether there is a join to a collection-valued association.

When set to true, the Doctrine ORM Paginator will perform an additional query, in order to get the correct number of results. You can configure this using the paginationFetchJoinCollection option:

<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationFetchJoinCollection: false)]
class Book
{
    // ...
}
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationFetchJoinCollection: false)]
class Book
{
    // ...
}

For more information, please see the Pagination entry in the Doctrine ORM documentation.

paginationUseOutputWalkers

bool $paginationUseOutputWalkers
bool $paginationUseOutputWalkers

The PaginationExtension of API Platform performs some checks on the QueryBuilder to guess, in most common cases, the correct values to use when configuring the Doctrine ORM Paginator: $setUseOutputWalkers setter, whether to use output walkers.

When set to true, the Doctrine ORM Paginator will use output walkers, which are compulsory for some types of queries. You can configure this using the paginationUseOutputWalkers option:

<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationUseOutputWalkers: false)]
class Book
{
    // ...
}
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(paginationUseOutputWalkers: false)]
class Book
{
    // ...
}

For more information, please see the Pagination entry in the Doctrine ORM documentation.

order

array $order
array $order

description

string $description
string $description

normalizationContext

array $normalizationContext
array $normalizationContext

denormalizationContext

array $denormalizationContext
array $denormalizationContext

collectDenormalizationErrors

bool $collectDenormalizationErrors
bool $collectDenormalizationErrors

security

string $security
string $security

securityMessage

string $securityMessage
string $securityMessage

securityPostDenormalize

string $securityPostDenormalize
string $securityPostDenormalize

securityPostDenormalizeMessage

string $securityPostDenormalizeMessage
string $securityPostDenormalizeMessage

securityPostValidation

string $securityPostValidation
string $securityPostValidation

securityPostValidationMessage

string $securityPostValidationMessage
string $securityPostValidationMessage

deprecationReason

string $deprecationReason
string $deprecationReason

The deprecationReason option deprecates the current operation with a deprecation message.

<?php
// api/src/Entity/Parchment.php
use ApiPlatform\Metadata\Get;
 
#[Get(deprecationReason: 'Create a Book instead')]
class Parchment
{
    // ...
}
<?php
// api/src/Entity/Parchment.php
use ApiPlatform\Metadata\Get;
 
#[Get(deprecationReason: 'Create a Book instead')]
class Parchment
{
    // ...
}

filters

array $filters
array $filters

The filters option configures the filters (declared as services) available on the collection routes for the current resource.

<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(filters: ['app.filters.book.search'])]
class Book
{
    // ...
}
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\GetCollection;
 
#[GetCollection(filters: ['app.filters.book.search'])]
class Book
{
    // ...
}

validationContext

array $validationContext
array $validationContext

The validationContext option configure the context of validation for the current Operation. You can, for instance, describe the validation groups that will be used :

  #[Put(validationContext: ['groups' => ['Default', 'putValidation']])]
  #[Post(validationContext: ['groups' => ['Default', 'postValidation']])]
  #[Put(validationContext: ['groups' => ['Default', 'putValidation']])]
  #[Post(validationContext: ['groups' => ['Default', 'postValidation']])]

For more examples, read our guide on validation.

input

$input
$input

output

$output
$output

mercure

$mercure
$mercure

messenger

string|bool $messenger
string|bool $messenger

The messenger option dispatches the current resource through the Message Bus.

<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\Post;
 
#[Post(messenger: true)]
class Book
{
    // ...
}
<?php
// api/src/Entity/Book.php
use ApiPlatform\Metadata\Post;
 
#[Post(messenger: true)]
class Book
{
    // ...
}

Note: when using messenger=true on a Doctrine entity, the Doctrine Processor is not called. If you want it to be called, you should decorate a built-in state processor and implement your own logic.

Read how to use Messenger with an Input object.

elasticsearch

bool $elasticsearch
bool $elasticsearch

urlGenerationStrategy

int $urlGenerationStrategy
int $urlGenerationStrategy

read

bool $read
bool $read

deserialize

bool $deserialize
bool $deserialize

validate

bool $validate
bool $validate

write

bool $write
bool $write

serialize

bool $serialize
bool $serialize

fetchPartial

bool $fetchPartial
bool $fetchPartial

forceEager

bool $forceEager
bool $forceEager

priority

int $priority
int $priority

name

string $name
string $name

provider

$provider
$provider

processor

$processor
$processor

stateOptions

ApiPlatform\State\OptionsInterface $stateOptions
ApiPlatform\State\OptionsInterface $stateOptions

extraProperties

array $extraProperties
array $extraProperties

Methods

__construct

public __construct(string $method, null|string $uriTemplate, null|array&lt;int, string&gt; $types, array&lt;int
string, string
array&lt;int, string&gt;&gt;|string $formats, array&lt;int
string, string
array&lt;int, string&gt;&gt;|string $inputFormats, array&lt;int
string, string
array&lt;int, string&gt;&gt;|string $outputFormats, array&lt;string, array
array
ApiPlatform\Metadata\Link&gt;|array&lt;int, string&gt;|string $uriVariables, null|string $routePrefix, null|string $routeName, null|array $defaults, null|array $requirements, null|array $options, null|bool $stateless, null|string $sunset, null|string $acceptPatch, string|int $status, null|string $host, null|array $schemes, null|string $condition, null|string $controller, null|array $cacheHeaders, null|array $paginationViaCursor, null|array $hydraContext, null|array $openapiContext, null|ApiPlatform\OpenApi\Model\Operation|bool $openapi, null|array $exceptionToStatus, null|bool $queryParameterValidationEnabled, null|string $shortName, null|string $class, null|bool $paginationEnabled, null|string $paginationType, null|int $paginationItemsPerPage, null|int $paginationMaximumItemsPerPage, null|bool $paginationPartial, null|bool $paginationClientEnabled, null|bool $paginationClientItemsPerPage, null|bool $paginationClientPartial, null|bool $paginationFetchJoinCollection, null|bool $paginationUseOutputWalkers, null|array $order, null|string $description, null|array $normalizationContext, null|array $denormalizationContext, null|bool $collectDenormalizationErrors, null|string $security, null|string $securityMessage, null|string $securityPostDenormalize, null|string $securityPostDenormalizeMessage, null|string $securityPostValidation, null|string $securityPostValidationMessage, null|string $deprecationReason, null|array $filters, null|array $validationContext, array|string|false $input, array|string|false $output, string|array|bool $mercure, string|bool $messenger, null|bool $elasticsearch, null|int $urlGenerationStrategy, null|bool $read, null|bool $deserialize, null|bool $validate, null|bool $write, null|bool $serialize, null|bool $fetchPartial, null|bool $forceEager, null|int $priority, null|string $name, string|callable $provider, string|callable $processor, null|ApiPlatform\State\OptionsInterface $stateOptions, array $extraProperties)
public __construct(string $method, null|string $uriTemplate, null|array&lt;int, string&gt; $types, array&lt;int
string, string
array&lt;int, string&gt;&gt;|string $formats, array&lt;int
string, string
array&lt;int, string&gt;&gt;|string $inputFormats, array&lt;int
string, string
array&lt;int, string&gt;&gt;|string $outputFormats, array&lt;string, array
array
ApiPlatform\Metadata\Link&gt;|array&lt;int, string&gt;|string $uriVariables, null|string $routePrefix, null|string $routeName, null|array $defaults, null|array $requirements, null|array $options, null|bool $stateless, null|string $sunset, null|string $acceptPatch, string|int $status, null|string $host, null|array $schemes, null|string $condition, null|string $controller, null|array $cacheHeaders, null|array $paginationViaCursor, null|array $hydraContext, null|array $openapiContext, null|ApiPlatform\OpenApi\Model\Operation|bool $openapi, null|array $exceptionToStatus, null|bool $queryParameterValidationEnabled, null|string $shortName, null|string $class, null|bool $paginationEnabled, null|string $paginationType, null|int $paginationItemsPerPage, null|int $paginationMaximumItemsPerPage, null|bool $paginationPartial, null|bool $paginationClientEnabled, null|bool $paginationClientItemsPerPage, null|bool $paginationClientPartial, null|bool $paginationFetchJoinCollection, null|bool $paginationUseOutputWalkers, null|array $order, null|string $description, null|array $normalizationContext, null|array $denormalizationContext, null|bool $collectDenormalizationErrors, null|string $security, null|string $securityMessage, null|string $securityPostDenormalize, null|string $securityPostDenormalizeMessage, null|string $securityPostValidation, null|string $securityPostValidationMessage, null|string $deprecationReason, null|array $filters, null|array $validationContext, array|string|false $input, array|string|false $output, string|array|bool $mercure, string|bool $messenger, null|bool $elasticsearch, null|int $urlGenerationStrategy, null|bool $read, null|bool $deserialize, null|bool $validate, null|bool $write, null|bool $serialize, null|bool $fetchPartial, null|bool $forceEager, null|int $priority, null|string $name, string|callable $provider, string|callable $processor, null|ApiPlatform\State\OptionsInterface $stateOptions, array $extraProperties)

Parameters

methodstring
uriTemplatestring
typesarray<int, string>the RDF types of this property
formatsarray<int string, string array<int, string>>
string
https://api-platform.com/docs/core/content-negotiation/#configuring-formats-for-a-specific-resource-or-operation
inputFormatsarray<int string, string array<int, string>>
string
https://api-platform.com/docs/core/content-negotiation/#configuring-formats-for-a-specific-resource-or-operation
outputFormatsarray<int string, string array<int, string>>
string
https://api-platform.com/docs/core/content-negotiation/#configuring-formats-for-a-specific-resource-or-operation
uriVariablesarray<string, array array ApiPlatform\Metadata\Link>
array<int, string>
string
https://api-platform.com/docs/core/subresources/
routePrefixstringhttps://api-platform.com/docs/core/operations/#prefixing-all-routes-of-all-operations
routeNamestring
defaultsarray
requirementsarray
optionsarray
statelessbool
sunsetstringhttps://api-platform.com/docs/core/deprecations/#setting-the-sunset-http-header-to-indicate-when-a-resource-or-an-operation-will-be-removed
acceptPatchstring
statusstring
int
https://api-platform.com/docs/core/operations/#configuring-operations
hoststring
schemesarray
conditionstring
controllerstring
cacheHeadersarrayhttps://api-platform.com/docs/core/performance/#setting-custom-http-cache-headers
paginationViaCursorarrayhttps://api-platform.com/docs/core/pagination/#cursor-based-pagination
hydraContextarrayhttps://api-platform.com/docs/core/extending-jsonld-context/#hydra
openapiContextarrayhttps://api-platform.com/docs/core/openapi/#using-the-openapi-and-swagger-contexts
openapiApiPlatform\OpenApi\Model\Operation
bool
exceptionToStatusarray
queryParameterValidationEnabledbool
shortNamestring
classstring
paginationEnabledbool
paginationTypestring
paginationItemsPerPageint
paginationMaximumItemsPerPageint
paginationPartialbool
paginationClientEnabledbool
paginationClientItemsPerPagebool
paginationClientPartialbool
paginationFetchJoinCollectionbool
paginationUseOutputWalkersbool
orderarray
descriptionstring
normalizationContextarrayhttps://api-platform.com/docs/core/serialization/#using-serialization-groups
denormalizationContextarrayhttps://api-platform.com/docs/core/serialization/#using-serialization-groups
collectDenormalizationErrorsbool
securitystring
securityMessagestring
securityPostDenormalizestring
securityPostDenormalizeMessagestring
securityPostValidationstring
securityPostValidationMessagestring
deprecationReasonstring
filtersarray
validationContextarray
inputarray
string
false
https://api-platform.com/docs/core/dto/#specifying-an-input-or-an-output-data-representation
outputarray
string
false
https://api-platform.com/docs/core/dto/#specifying-an-input-or-an-output-data-representation
mercurestring
array
bool
https://api-platform.com/docs/core/mercure
messengerstring
bool
https://api-platform.com/docs/core/messenger/#dispatching-a-resource-through-the-message-bus
elasticsearchbool
urlGenerationStrategyint
readbool
deserializebool
validatebool
writebool
serializebool
fetchPartialbool
forceEagerbool
priorityint
namestring
providerstring
callable
https://api-platform.com/docs/core/state-providers/#state-providers
processorstring
callable
https://api-platform.com/docs/core/state-processors/#state-processors
stateOptionsApiPlatform\State\OptionsInterface
extraPropertiesarray

getMethod

public getMethod(): string
public getMethod(): string

Returns

string

withMethod

public withMethod(string $method): ApiPlatform\Metadata\HttpOperation
public withMethod(string $method): ApiPlatform\Metadata\HttpOperation

Parameters

methodstring

Returns

ApiPlatform\Metadata\HttpOperation

getUriTemplate

public getUriTemplate(): string
public getUriTemplate(): string

Returns

string

withUriTemplate

public withUriTemplate(null|string $uriTemplate)
public withUriTemplate(null|string $uriTemplate)

Parameters

uriTemplatestring

getTypes

public getTypes(): array
public getTypes(): array

Returns

array

withTypes

public withTypes(array&lt;int, string&gt;|string $types): ApiPlatform\Metadata\HttpOperation
public withTypes(array&lt;int, string&gt;|string $types): ApiPlatform\Metadata\HttpOperation

Parameters

typesarray<int, string>
string

Returns

ApiPlatform\Metadata\HttpOperation

getFormats

public getFormats()
public getFormats()

withFormats

public withFormats($formats): ApiPlatform\Metadata\HttpOperation
public withFormats($formats): ApiPlatform\Metadata\HttpOperation

Parameters

formats

Returns

ApiPlatform\Metadata\HttpOperation

getInputFormats

public getInputFormats()
public getInputFormats()

withInputFormats

public withInputFormats($inputFormats): ApiPlatform\Metadata\HttpOperation
public withInputFormats($inputFormats): ApiPlatform\Metadata\HttpOperation

Parameters

inputFormats

Returns

ApiPlatform\Metadata\HttpOperation

getOutputFormats

public getOutputFormats()
public getOutputFormats()

withOutputFormats

public withOutputFormats($outputFormats): ApiPlatform\Metadata\HttpOperation
public withOutputFormats($outputFormats): ApiPlatform\Metadata\HttpOperation

Parameters

outputFormats

Returns

ApiPlatform\Metadata\HttpOperation

getUriVariables

public getUriVariables()
public getUriVariables()

withUriVariables

public withUriVariables($uriVariables): ApiPlatform\Metadata\HttpOperation
public withUriVariables($uriVariables): ApiPlatform\Metadata\HttpOperation

Parameters

uriVariables

Returns

ApiPlatform\Metadata\HttpOperation

getRoutePrefix

public getRoutePrefix(): string
public getRoutePrefix(): string

Returns

string

withRoutePrefix

public withRoutePrefix(string $routePrefix): ApiPlatform\Metadata\HttpOperation
public withRoutePrefix(string $routePrefix): ApiPlatform\Metadata\HttpOperation

Parameters

routePrefixstring

Returns

ApiPlatform\Metadata\HttpOperation

getRouteName

public getRouteName(): string
public getRouteName(): string

Returns

string

withRouteName

public withRouteName(null|string $routeName): ApiPlatform\Metadata\HttpOperation
public withRouteName(null|string $routeName): ApiPlatform\Metadata\HttpOperation

Parameters

routeNamestring

Returns

ApiPlatform\Metadata\HttpOperation

getDefaults

public getDefaults(): array
public getDefaults(): array

Returns

array

withDefaults

public withDefaults(array $defaults): ApiPlatform\Metadata\HttpOperation
public withDefaults(array $defaults): ApiPlatform\Metadata\HttpOperation

Parameters

defaultsarray

Returns

ApiPlatform\Metadata\HttpOperation

getRequirements

public getRequirements(): array
public getRequirements(): array

Returns

array

withRequirements

public withRequirements(array $requirements): ApiPlatform\Metadata\HttpOperation
public withRequirements(array $requirements): ApiPlatform\Metadata\HttpOperation

Parameters

requirementsarray

Returns

ApiPlatform\Metadata\HttpOperation

getOptions

public getOptions(): array
public getOptions(): array

Returns

array

withOptions

public withOptions(array $options): ApiPlatform\Metadata\HttpOperation
public withOptions(array $options): ApiPlatform\Metadata\HttpOperation

Parameters

optionsarray

Returns

ApiPlatform\Metadata\HttpOperation

getStateless

public getStateless(): bool
public getStateless(): bool

Returns

bool

withStateless

public withStateless($stateless): ApiPlatform\Metadata\HttpOperation
public withStateless($stateless): ApiPlatform\Metadata\HttpOperation

Parameters

stateless

Returns

ApiPlatform\Metadata\HttpOperation

getSunset

public getSunset(): string
public getSunset(): string

Returns

string

withSunset

public withSunset(string $sunset): ApiPlatform\Metadata\HttpOperation
public withSunset(string $sunset): ApiPlatform\Metadata\HttpOperation

Parameters

sunsetstring

Returns

ApiPlatform\Metadata\HttpOperation

getAcceptPatch

public getAcceptPatch(): string
public getAcceptPatch(): string

Returns

string

withAcceptPatch

public withAcceptPatch(string $acceptPatch): ApiPlatform\Metadata\HttpOperation
public withAcceptPatch(string $acceptPatch): ApiPlatform\Metadata\HttpOperation

Parameters

acceptPatchstring

Returns

ApiPlatform\Metadata\HttpOperation

getStatus

public getStatus(): int
public getStatus(): int

Returns

int

withStatus

public withStatus(int $status): ApiPlatform\Metadata\HttpOperation
public withStatus(int $status): ApiPlatform\Metadata\HttpOperation

Parameters

statusint

Returns

ApiPlatform\Metadata\HttpOperation

getHost

public getHost(): string
public getHost(): string

Returns

string

withHost

public withHost(string $host): ApiPlatform\Metadata\HttpOperation
public withHost(string $host): ApiPlatform\Metadata\HttpOperation

Parameters

hoststring

Returns

ApiPlatform\Metadata\HttpOperation

getSchemes

public getSchemes(): array
public getSchemes(): array

Returns

array

withSchemes

public withSchemes(array $schemes): ApiPlatform\Metadata\HttpOperation
public withSchemes(array $schemes): ApiPlatform\Metadata\HttpOperation

Parameters

schemesarray

Returns

ApiPlatform\Metadata\HttpOperation

getCondition

public getCondition(): string
public getCondition(): string

Returns

string

withCondition

public withCondition(string $condition): ApiPlatform\Metadata\HttpOperation
public withCondition(string $condition): ApiPlatform\Metadata\HttpOperation

Parameters

conditionstring

Returns

ApiPlatform\Metadata\HttpOperation

getController

public getController(): string
public getController(): string

Returns

string

withController

public withController(string $controller): ApiPlatform\Metadata\HttpOperation
public withController(string $controller): ApiPlatform\Metadata\HttpOperation

Parameters

controllerstring

Returns

ApiPlatform\Metadata\HttpOperation

getCacheHeaders

public getCacheHeaders(): array
public getCacheHeaders(): array

Returns

array

withCacheHeaders

public withCacheHeaders(array $cacheHeaders): ApiPlatform\Metadata\HttpOperation
public withCacheHeaders(array $cacheHeaders): ApiPlatform\Metadata\HttpOperation

Parameters

cacheHeadersarray

Returns

ApiPlatform\Metadata\HttpOperation

getPaginationViaCursor

public getPaginationViaCursor(): array
public getPaginationViaCursor(): array

Returns

array

withPaginationViaCursor

public withPaginationViaCursor(array $paginationViaCursor): ApiPlatform\Metadata\HttpOperation
public withPaginationViaCursor(array $paginationViaCursor): ApiPlatform\Metadata\HttpOperation

Parameters

paginationViaCursorarray

Returns

ApiPlatform\Metadata\HttpOperation

getHydraContext

public getHydraContext(): array
public getHydraContext(): array

Returns

array

withHydraContext

public withHydraContext(array $hydraContext): ApiPlatform\Metadata\HttpOperation
public withHydraContext(array $hydraContext): ApiPlatform\Metadata\HttpOperation

Parameters

hydraContextarray

Returns

ApiPlatform\Metadata\HttpOperation

getOpenapiContext

public getOpenapiContext(): array
public getOpenapiContext(): array

Returns

array

withOpenapiContext

public withOpenapiContext(array $openapiContext): ApiPlatform\Metadata\HttpOperation
public withOpenapiContext(array $openapiContext): ApiPlatform\Metadata\HttpOperation

Parameters

openapiContextarray

Returns

ApiPlatform\Metadata\HttpOperation

getOpenapi

public getOpenapi(): ApiPlatform\OpenApi\Model\Operation|bool
public getOpenapi(): ApiPlatform\OpenApi\Model\Operation|bool

Returns

ApiPlatform\OpenApi\Model\Operation
bool

withOpenapi

Parameters

openapiApiPlatform\OpenApi\Model\Operation
bool

Returns

ApiPlatform\Metadata\HttpOperation

getExceptionToStatus

public getExceptionToStatus(): array
public getExceptionToStatus(): array

Returns

array

withExceptionToStatus

public withExceptionToStatus(array $exceptionToStatus): ApiPlatform\Metadata\HttpOperation
public withExceptionToStatus(array $exceptionToStatus): ApiPlatform\Metadata\HttpOperation

Parameters

exceptionToStatusarray

Returns

ApiPlatform\Metadata\HttpOperation

getQueryParameterValidationEnabled

public getQueryParameterValidationEnabled(): bool
public getQueryParameterValidationEnabled(): bool

Returns

bool

withQueryParameterValidationEnabled

public withQueryParameterValidationEnabled(bool $queryParameterValidationEnabled): ApiPlatform\Metadata\HttpOperation
public withQueryParameterValidationEnabled(bool $queryParameterValidationEnabled): ApiPlatform\Metadata\HttpOperation

Parameters

queryParameterValidationEnabledbool

Returns

ApiPlatform\Metadata\HttpOperation

Copyright © 2023 Kévin Dunglas

Sponsored by Les-Tilleuls.coop