api-platform / api-platform/core

Array query parameters not correctly handled by OpenAPI UI

Open
#8,421 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
PHP
Stars
2.6k
Forks
980
Avg merge
2d 5h
Merged PRs (30d)
48

Description

**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')

```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.