Skip to content

Add Example Value for 'page' Parameter and Clarify Handling of Empty 'page' Values #7015

Open
@TheoD02

Description

@TheoD02

Description

Currently, the page query parameter in API Platform OpenAPI documentation is defined with a default value of 1 but lacks an example value. This absence can lead to issues with tools like ApiDog, which may import and activate the page parameter without an example.

Image

Resulting in requests such as: url.org?page= by default after import.

Such requests cause failures ‘Page should not be less than 1‘ due to the empty page parameter.

Proposed Solution

1. Add an Example Value to the page Parameter

To align with the OpenAPI specification and improve compatibility with tools that consume OpenAPI, it is recommended to add an example value of 1 to the page parameter. This can be achieved by modifying the parameter definition as follows:

$parameters[] = new Parameter(
    $this->paginationOptions->getPaginationPageParameterName(),
    'query',
    'The collection page number',
    false,
    false,
    true,
    ['type' => 'integer', 'default' => 1],
    example: 1
);

2. Define Behavior for Empty page Parameter Values

Clarify how API Platform should handle cases where the page parameter is provided with an empty value. There are two potential approaches:

  • Fallback to Default: Treat an empty page value as if the default value (1) was provided.
  • Return Bad Request (current behavior): Respond with a 400 Bad Request status, indicating that the page parameter should not be empty.

I am open to working on a PR to implement this change if the proposal is accepted.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions