@@ -168,61 +168,30 @@ protected function getDoctrineArrayParameterType(): ?ArrayParameterType
168168 return null ;
169169 }
170170
171- public function getOpenApiParameters (Parameter $ parameter ): array
171+ public function getOpenApiParameters (Parameter $ parameter ): OpenApiParameter | array | null
172172 {
173173 $ in = $ parameter instanceof QueryParameter ? 'query ' : 'header ' ;
174- $ key = $ parameter ->getKey ();
175174 $ schema = $ parameter ->getSchema ();
176- $ addStringParam = false ;
177- $ addArrayParam = false ;
178- $ openApiParameters = [];
175+ $ isArraySchema = 'array ' === ($ schema ['type ' ] ?? null );
179176
180- if (null === $ schema ) {
181- $ addStringParam = true ;
182- $ addArrayParam = true ;
177+ if ($ isArraySchema ) {
178+ return new OpenApiParameter (name: $ parameter ->getKey ().'[] ' , in: $ in , style: 'deepObject ' , explode: true );
183179 }
184180
185- foreach ($ schema ['oneOf ' ] ?? [$ schema ] as $ item ) {
186- if (!isset ($ item ['type ' ]) || 'string ' === $ item ['type ' ]) {
187- $ addStringParam = true ;
188- }
189-
190- if (!isset ($ item ['type ' ]) || 'array ' === $ item ['type ' ]) {
191- $ addArrayParam = true ;
192- }
181+ if (isset ($ schema ['oneOf ' ])) {
182+ return [
183+ new OpenApiParameter (name: $ parameter ->getKey (), in: $ in ),
184+ new OpenApiParameter (name: $ parameter ->getKey ().'[] ' , in: $ in , style: 'deepObject ' , explode: true ),
185+ ];
193186 }
194187
195- if ($ addStringParam ) {
196- $ openApiParameters [] = new OpenApiParameter (
197- name: $ key ,
198- in: $ in ,
199- schema: self ::UUID_SCHEMA ,
200- style: 'form ' ,
201- explode: false
202- );
203- }
204-
205- if ($ addArrayParam ) {
206- $ openApiParameters [] = new OpenApiParameter (
207- name: $ key .'[] ' ,
208- in: $ in ,
209- description: 'One or more Uuids ' ,
210- schema: [
211- 'type ' => 'array ' ,
212- 'items ' => self ::UUID_SCHEMA ,
213- ],
214- style: 'deepObject ' ,
215- explode: true
216- );
217- }
218-
219- return $ openApiParameters ;
188+ return null ;
220189 }
221190
222191 public function getSchema (Parameter $ parameter ): array
223192 {
224- if (null !== $ parameter ->getSchema ()) {
225- return $ parameter -> getSchema () ;
193+ if (false === $ parameter ->getCastToArray ()) {
194+ return self :: UUID_SCHEMA ;
226195 }
227196
228197 return [
0 commit comments