Skip to content

Commit d4fe117

Browse files
committed
2 parents 77f12d7 + a607185 commit d4fe117

File tree

2 files changed

+21
-4
lines changed

2 files changed

+21
-4
lines changed

src/Parameters/QueryParametersGenerator.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public function getParameters(): array {
5252
$arrayTypes[$key] = $type;
5353
continue;
5454
}
55+
$parameter = $this->formatParameterName($parameter);
5556

5657
$parameterObject = [
5758
'in' => $this->getParameterLocation(),
@@ -126,4 +127,20 @@ protected function addArrayTypes(array $parameters, array $arrayTypes): array {
126127
return $parameters;
127128
}
128129

130+
/**
131+
* @param string $parameter
132+
* @return string
133+
*/
134+
protected function formatParameterName(string $parameter): string {
135+
if (!strpos($parameter, '.')) {
136+
return $parameter;
137+
}
138+
$parts = explode('.', $parameter);
139+
for ($i = 1; $i < count($parts); $i++) {
140+
$parts[$i] = "[$parts[$i]]";
141+
}
142+
143+
return implode('', $parts);
144+
}
145+
129146
}

src/Parameters/Traits/GeneratesFromRules.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ protected function getParameterExtra(string $type, array $parameterRules): array
119119
}
120120

121121
if (Str::startsWith($rule, 'regex')) {
122-
[$_, $value] = explode(':', $rule);
122+
[$_, $value] = explode(':', $rule, 2);
123123
$extra['pattern'] = trim($value);
124124
}
125125
}
@@ -177,7 +177,7 @@ protected function getEnumValues(array $parameterRules): array {
177177
*/
178178
protected function getDefaultValue(array $parameterRules): ?string {
179179
foreach ($parameterRules as $rule) {
180-
if (Str::startsWith($rule, 'swagger_default')) {
180+
if ((is_string($rule) || method_exists($rule, '__toString')) && Str::startsWith($rule, 'swagger_default')) {
181181
[$key, $value] = explode(':', $rule);
182182
return trim($value);
183183
}
@@ -192,7 +192,7 @@ protected function getDefaultValue(array $parameterRules): ?string {
192192
*/
193193
protected function getMinValue(array $parameterRules) {
194194
foreach ($parameterRules as $rule) {
195-
if (Str::startsWith($rule, 'swagger_min')) {
195+
if ((is_string($rule) || method_exists($rule, '__toString')) && Str::startsWith($rule, 'swagger_min')) {
196196
[$key, $value] = explode(':', $rule);
197197
return trim($value);
198198
}
@@ -207,7 +207,7 @@ protected function getMinValue(array $parameterRules) {
207207
*/
208208
protected function getMaxValue(array $parameterRules) {
209209
foreach ($parameterRules as $rule) {
210-
if (Str::startsWith($rule, 'swagger_max')) {
210+
if ((is_string($rule) || method_exists($rule, '__toString')) && Str::startsWith($rule, 'swagger_max')) {
211211
[$key, $value] = explode(':', $rule);
212212
return trim($value);
213213
}

0 commit comments

Comments
 (0)