diff --git a/RouteDescriber/FosRestDescriber.php b/RouteDescriber/FosRestDescriber.php index d800e0b..fd92f84 100644 --- a/RouteDescriber/FosRestDescriber.php +++ b/RouteDescriber/FosRestDescriber.php @@ -107,7 +107,7 @@ final class FosRestDescriber implements RouteDescriberInterface if ($requirements instanceof Constraint && !$requirements instanceof Regex) { if ($requirements instanceof DateTime) { // As defined per RFC3339 - if ('Y-m-d\TH:i:s' === $requirements->format) { + if ('Y-m-d\TH:i:s' === $requirements->format || 'c' === $requirements->format) { return 'date-time'; } elseif ('Y-m-d' === $requirements->format) { return 'date'; diff --git a/Tests/Functional/Controller/FOSRestController.php b/Tests/Functional/Controller/FOSRestController.php index ab2c66c..2857f28 100644 --- a/Tests/Functional/Controller/FOSRestController.php +++ b/Tests/Functional/Controller/FOSRestController.php @@ -30,6 +30,7 @@ class FOSRestController * @RequestParam(name="Barraa", key="bar", requirements="\d+") * @RequestParam(name="baz", requirements=@IsTrue) * @RequestParam(name="datetime", requirements=@DateTime("Y-m-d\TH:i:s")) + * @RequestParam(name="datetimeAlt", requirements=@DateTime("c")) * @RequestParam(name="date", requirements=@DateTime("Y-m-d")) */ public function fosrestAction() diff --git a/Tests/Functional/FOSRestTest.php b/Tests/Functional/FOSRestTest.php index 739b0f3..8024011 100644 --- a/Tests/Functional/FOSRestTest.php +++ b/Tests/Functional/FOSRestTest.php @@ -53,6 +53,9 @@ class FOSRestTest extends WebTestCase $dateTimeProperty = $this->getProperty($bodySchema, 'datetime'); $this->assertEquals('date-time', $dateTimeProperty->format); + $dateTimeAltProperty = $this->getProperty($bodySchema, 'datetimeAlt'); + $this->assertEquals('date-time', $dateTimeAltProperty->format); + $dateProperty = $this->getProperty($bodySchema, 'date'); $this->assertEquals('date', $dateProperty->format);