|
19 | 19 | use ApiPlatform\Metadata\Tests\Fixtures\StateOptions; |
20 | 20 | use ApiPlatform\OpenApi\Model\ExternalDocumentation; |
21 | 21 | use ApiPlatform\OpenApi\Model\Operation as OpenApiOperation; |
| 22 | +use ApiPlatform\OpenApi\Model\Parameter; |
22 | 23 | use ApiPlatform\OpenApi\Model\RequestBody; |
23 | 24 | use ApiPlatform\State\OptionsInterface; |
24 | 25 | use Symfony\Component\Yaml\Exception\ParseException; |
@@ -235,6 +236,28 @@ private function buildOpenapi(array $resource): bool|OpenApiOperation|null |
235 | 236 | unset($resource['openapi'][$key]); |
236 | 237 | } |
237 | 238 |
|
| 239 | + if (\array_key_exists('parameters', $resource['openapi']) && \is_array($openapiParameters = $resource['openapi']['parameters'] ?? [])) { |
| 240 | + $parameters = []; |
| 241 | + foreach ($openapiParameters as $parameter) { |
| 242 | + $parameters[] = new Parameter( |
| 243 | + name: $parameter['name'], |
| 244 | + in: $parameter['in'], |
| 245 | + description: $parameter['description'] ?? '', |
| 246 | + required: $parameter['required'] ?? false, |
| 247 | + deprecated: $parameter['deprecated'] ?? false, |
| 248 | + allowEmptyValue: $parameter['allowEmptyValue'] ?? false, |
| 249 | + schema: $parameter['schema'] ?? [], |
| 250 | + style: $parameter['style'] ?? null, |
| 251 | + explode: $parameter['explode'] ?? false, |
| 252 | + allowReserved: $parameter['allowReserved '] ?? false, |
| 253 | + example: $parameter['example'] ?? null, |
| 254 | + examples: isset($parameter['examples']) ? new \ArrayObject($parameter['examples']) : null, |
| 255 | + content: isset($parameter['content']) ? new \ArrayObject($parameter['content']) : null |
| 256 | + ); |
| 257 | + } |
| 258 | + $resource['openapi']['parameters'] = $parameters; |
| 259 | + } |
| 260 | + |
238 | 261 | return new OpenApiOperation(...$resource['openapi']); |
239 | 262 | } |
240 | 263 |
|
|
0 commit comments