diff --git a/src/Extracting/ParsesValidationRules.php b/src/Extracting/ParsesValidationRules.php index 1a9a2046..a4a92481 100644 --- a/src/Extracting/ParsesValidationRules.php +++ b/src/Extracting/ParsesValidationRules.php @@ -511,6 +511,9 @@ protected function getParameterExample(array $parameterData) : null; } } else if (!is_null($parameterData['example']) && $parameterData['example'] !== self::$MISSING_VALUE) { + if($parameterData['example'] === 'No-example' && !$parameterData['required']){ + return null; + } // Casting again is important since values may have been cast to string in the validator return $this->castToType($parameterData['example'], $parameterData['type']); } diff --git a/tests/Fixtures/TestRequest.php b/tests/Fixtures/TestRequest.php index 667c48f0..9d0db9b1 100644 --- a/tests/Fixtures/TestRequest.php +++ b/tests/Fixtures/TestRequest.php @@ -31,6 +31,7 @@ public function rules() 'user_id' => 'int|required', 'room_id' => ['string'], 'forever' => 'boolean', + 'no_example_attribute' => 'numeric', 'another_one' => 'numeric', 'even_more_param' => 'array', 'book.name' => 'string', @@ -59,6 +60,10 @@ public function bodyParameters() 'another_one' => [ 'description' => 'Just need something here.', ], + 'no_example_attribute' => [ + 'description' => 'Attribute without example.', + 'example' => 'No-example', + ], 'even_more_param' => [ 'description' => '', ], diff --git a/tests/Strategies/GetFromFormRequestTest.php b/tests/Strategies/GetFromFormRequestTest.php index 55abb450..14c3c8f7 100644 --- a/tests/Strategies/GetFromFormRequestTest.php +++ b/tests/Strategies/GetFromFormRequestTest.php @@ -48,6 +48,12 @@ public function can_fetch_bodyparams_from_form_request() 'required' => false, 'description' => 'Just need something here.', ], + 'no_example_attribute' => [ + 'type' => 'number', + 'required' => false, + 'description' => 'Attribute without example.', + 'example' => null, + ], 'even_more_param' => [ 'type' => 'string[]', 'required' => false,