示例#1
0
 /**
  * @return array
  */
 public function generate()
 {
     $result = ["swagger" => $this->swagger];
     $result["info"] = $this->info !== null ? $this->info->generate() : null;
     $result = Generator::addItemToArrayIfNotEmpty($result, "host", $this->host);
     $result = Generator::addItemToArrayIfNotEmpty($result, "basePath", $this->basePath);
     $result = Generator::addItemToArrayIfNotEmpty($result, "schemes", $this->schemes);
     $result = Generator::addItemToArrayIfNotEmpty($result, "consumes", $this->consumes);
     $result = Generator::addItemToArrayIfNotEmpty($result, "produces", $this->produces);
     foreach ($this->tags as $tag) {
         $result = Generator::pushGeneratableToArrayKeyIfNotEmpty($result, "tags", $tag);
     }
     $result["paths"] = $this->paths !== null ? $this->paths->generate() : null;
     $result = Generator::addGeneratableToArrayIfNotEmpty($result, "definitions", $this->definitions);
     $result = Generator::addGeneratableToArrayIfNotEmpty($result, "parameters", $this->parameters);
     $result = Generator::addGeneratableToArrayIfNotEmpty($result, "responses", $this->responses);
     $result = Generator::addGeneratableToArrayIfNotEmpty($result, "securityDefinitions", $this->securityDefinitions);
     foreach ($this->security as $security) {
         $result = Generator::pushGeneratableToArrayKeyIfNotEmpty($result, "security", $security);
     }
     $result = Generator::addGeneratableToArrayIfNotEmpty($result, "externalDocs", $this->externalDocs);
     if ($this->cache !== null) {
         $this->cache->save($this->cacheId, $result);
     }
     return $result;
 }