POST([ new Rules(CoffeeTable::DATE_CREATED->value) ->type(Type::STRING) ->default(null) ])); } public function main(): Response { $datetime = new DateTimeImmutable(); // Parse DateTime from POST string if ($_POST[CoffeeTable::DATE_CREATED->value]) { try { $datetime = new DateTimeImmutable($_POST[CoffeeTable::DATE_CREATED->value]); } catch (DateMalformedStringException $error) { return new Response($error->getMessage(), 400); } } return new Response(Coffee::new($datetime)); } }