[PHP] Bugfix: DateTime object on query (#13583)

* [PHP] BUGFIX: fix code breaking when query params contain a DateTime object

* [PHP] Autogenerated files
This commit is contained in:
Thomas Hansen 2022-10-06 18:45:33 +02:00 committed by GitHub
parent 32936ad71b
commit a37d18a7e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 0 deletions

View File

@ -180,6 +180,11 @@ class ObjectSerializer
}
}
# Handle DateTime objects in query
if($openApiType === "\\DateTime" && $value instanceof \DateTime) {
return ["{$paramName}" => $value->format(self::$dateTimeFormat)];
}
$query = [];
$value = (in_array($openApiType, ['object', 'array'], true)) ? (array)$value : $value;

View File

@ -189,6 +189,11 @@ class ObjectSerializer
}
}
# Handle DateTime objects in query
if($openApiType === "\\DateTime" && $value instanceof \DateTime) {
return ["{$paramName}" => $value->format(self::$dateTimeFormat)];
}
$query = [];
$value = (in_array($openApiType, ['object', 'array'], true)) ? (array)$value : $value;

View File

@ -327,6 +327,15 @@ class ObjectSerializerTest extends TestCase
true,
'filter%5Bor%5D%5B0%5D%5Bname%5D=John&filter%5Bor%5D%5B1%5D%5Bemail%5D=john%40doe.com'
],
'form DateTime object, explode on, required true' => [
new DateTime('2021-10-06T20:17:16'), 'dateTime', '\DateTime', 'form', true, true, 'dateTime=2021-10-06T20%3A17%3A16%2B00%3A00',
],
'form null DateTime object, explode on, required true' => [
null, 'dateTime', '\DateTime', 'form', true, true, 'dateTime=',
],
'form null DateTime object, explode on, required false' => [
null, 'dateTime', '\DateTime', 'form', true, false, '',
],
];
}