Skip to content

Array query parameters not correctly handled by OpenAPI UI #8421

Description

@Dasc3er

Description

When setting a Query Parameter of array type, the OpenAPI UI allows setting multiple values but makes a wrong setup of the actual query parameters (no [] added).

Alternatively, is there a simple way to configure the parsing from Laravel/Symfony to access all provided values? It seems a lot of this is framework and language specific, as other languages support multiple query param with same name as is implemented here.

How to reproduce

#[ApiResource(
    shortName: 'Test',
    operations: [
        new Get(
            parameters: [
                'array' => new QueryParameter(required: false, castToArray: true, schema: ['type' => 'array']),
            ],
        ),
    ],
)]
class Test2Resource
{
    public int $not_id;
}


Image

Possible Solution


curl -X 'GET' \
  'http://localhost/fork/public/api/tests?array=2&array=1&array=4' \
  -H 'accept: application/ld+json'

should be


curl -X 'GET' \
  'http://localhost/fork/public/api/tests?array[]=2&array[]=1&array[]=4' \
  -H 'accept: application/ld+json')

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions