Bladeren bron

Merge remote-tracking branch 'origin/master'

shalvah 2 jaren geleden
bovenliggende
commit
709282e646
1 gewijzigde bestanden met toevoegingen van 9 en 1 verwijderingen
  1. 9 1
      src/Writing/OpenAPISpecWriter.php

+ 9 - 1
src/Writing/OpenAPISpecWriter.php

@@ -560,8 +560,16 @@ class OpenAPISpecWriter
             $spec['description'] = $endpoint->responseFields[$key]->description;
         }
         if ($spec['type'] === 'array' && !empty($value)) {
-            $spec['items']['type'] = $this->convertScribeOrPHPTypeToOpenAPIType(gettype($value[0]));
+            $handle = $value[0];
+            $type = $this->convertScribeOrPHPTypeToOpenAPIType(gettype($handle));
+            $spec['items']['type'] = $type;
             $spec['example'] = json_decode(json_encode($spec['example']), true);//Convert stdClass to array
+
+            if ($type === 'object') {
+                $spec['items']['properties'] = collect($handle)->mapWithKeys(function ($v, $k) use ($endpoint) {
+                    return $this->generateObjectPropertiesResponseSpec($v, $endpoint, $k);
+                })->toArray();
+            }
         }
 
         return [