/** * Create a new body from an array * * @param string $mediaType * @param array $data * [ * schema: ?string * example: ?string * examples: ?array * ] * * @throws \Exception * * @return Body */ public static function createFromArray($mediaType, array $data = []) { $body = new static($mediaType); if (isset($data['description'])) { $body->setDescription($data['description']); } if (isset($data['schema'])) { $body->setSchema($data['schema']); } if (isset($data['example'])) { $body->addExample($data['example']); } if (isset($data['examples'])) { foreach ($data['examples'] as $example) { $body->addExample($example); } } return $body; }
/** * Create a Query Parameter from an Array * * @param $key * @param $data * [ * displayName: ?string * description: ?string * type: ?["string","number","integer","date","boolean","file"] * enum: ?array * pattern: ?string * validationPattern: ?string * minLength: ?integer * maxLength: ?integer * minimum: ?integer * maximum: ?integer * example: ?string * examples: ?array * repeat: ?boolean * required: ?boolean * default: ?string * ] * * @throws \Exception * * @return NamedParameter */ public static function createFromArray($key, array $data = []) { $namedParameter = new static($key); if (isset($data['displayName'])) { $namedParameter->setDisplayName($data['displayName']); } if (isset($data['description'])) { $namedParameter->setDescription($data['description']); } if (isset($data['type'])) { $namedParameter->setType($data['type']); } if (isset($data['enum'])) { $namedParameter->setEnum($data['enum']); } if (isset($data['pattern'])) { $namedParameter->setValidationPattern($data['pattern']); } // RAML 1.0 if (isset($data['validationPattern'])) { $namedParameter->setValidationPattern($data['validationPattern']); } if (isset($data['minLength'])) { $namedParameter->setMinLength($data['minLength']); } if (isset($data['maxLength'])) { $namedParameter->setMaxLength($data['maxLength']); } if (isset($data['minimum'])) { $namedParameter->setMinimum($data['minimum']); } if (isset($data['maximum'])) { $namedParameter->setMaximum($data['maximum']); } if (isset($data['example'])) { $namedParameter->addExample($data['example']); } if (isset($data['examples'])) { foreach ($data['examples'] as $example) { $namedParameter->addExample($example); } } if (isset($data['repeat'])) { $namedParameter->setRepeat($data['repeat']); } if (isset($data['required'])) { $namedParameter->setRequired($data['required']); } if (isset($data['default'])) { if ($namedParameter->getType() === self::TYPE_DATE) { $namedParameter->setDefault(\DateTime::createFromFormat('D, d M Y H:i:s T', $data['default'])); } else { $namedParameter->setDefault($data['default']); } } return $namedParameter; }