Skip to content

Commit fcb1c19

Browse files
authored
Merge pull request #101 from niels-nijens/fix-parameter-schema-resolving
Add referenced parameter resolving
2 parents 3cc8392 + c3ca7d3 commit fcb1c19

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

src/Routing/RouteLoader.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
use Nijens\OpenapiBundle\Controller\CatchAllController;
1717
use Nijens\OpenapiBundle\Json\JsonPointer;
18+
use Nijens\OpenapiBundle\Json\Reference;
1819
use Nijens\OpenapiBundle\Json\SchemaLoaderInterface;
1920
use stdClass;
2021
use Symfony\Component\Config\FileLocatorInterface;
@@ -206,6 +207,10 @@ private function addRouteContextForValidation(
206207
continue;
207208
}
208209

210+
if ($parameter instanceof Reference) {
211+
$parameter = $parameter->resolve();
212+
}
213+
209214
$openapiRouteContext[RouteContext::REQUEST_VALIDATE_QUERY_PARAMETERS][$parameter->name] = json_encode($parameter);
210215
}
211216

tests/Functional/App/openapi.yaml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,7 @@ paths:
2020
schema:
2121
type: string
2222
minLength: 3
23-
- name: itemsPerPage
24-
in: query
25-
required: false
26-
schema:
27-
type: integer
28-
minimum: 1
29-
default: 30
23+
- $ref: '#/components/parameters/ItemsPerPage'
3024
responses:
3125
'200':
3226
description: Successfully retrieved the pets from the store.
@@ -233,6 +227,16 @@ paths:
233227
- error
234228

235229
components:
230+
parameters:
231+
ItemsPerPage:
232+
name: itemsPerPage
233+
in: query
234+
required: false
235+
schema:
236+
type: integer
237+
minimum: 1
238+
default: 30
239+
236240
schemas:
237241
Pet:
238242
type: object

0 commit comments

Comments
 (0)