Merge pull request #792 from rodrigm/master

Fix #565
This commit is contained in:
William Durand 2016-02-24 19:00:28 +01:00
commit 2a0f95eac0
3 changed files with 6 additions and 6 deletions

View File

@ -322,8 +322,8 @@ class ApiDocExtractor
$parameters = $this->clearClasses($parameters);
$parameters = $this->generateHumanReadableTypes($parameters);
if ('PUT' === $annotation->getMethod()) {
// All parameters are optional with PUT (update)
if ('PATCH' === $annotation->getMethod()) {
// All parameters are optional with PATCH (update)
array_walk($parameters, function ($val, $key) use (&$parameters) {
$parameters[$key]['required'] = false;
});

View File

@ -286,13 +286,13 @@ class ApiDocExtractorTest extends WebTestCase
$this->assertTrue($parameters['required_field']['required']);
}
public function testPutRequestDoesNeverRequireParameters()
public function testPatchRequestDoesNeverRequireParameters()
{
$container = $this->getContainer();
/** @var ApiDocExtractor $extractor */
$extractor = $container->get('nelmio_api_doc.extractor.api_doc_extractor');
/** @var ApiDoc $annotation */
$annotation = $extractor->get('Nelmio\ApiDocBundle\Tests\Fixtures\Controller\TestController::requiredParametersAction', 'test_put_disables_required_parameters');
$annotation = $extractor->get('Nelmio\ApiDocBundle\Tests\Fixtures\Controller\TestController::requiredParametersAction', 'test_patch_disables_required_parameters');
$parameters = $annotation->getParameters();
$this->assertFalse($parameters['required_field']['required']);

View File

@ -209,9 +209,9 @@ test_required_parameters:
requirements:
_format: json|xml|html
test_put_disables_required_parameters:
test_patch_disables_required_parameters:
path: /api/other-resources/{id}.{_format}
methods: [PUT]
methods: [PATCH]
defaults: { _controller: NelmioApiDocTestBundle:Resource:requiredParametersAction, _format: json }
requirements:
_format: json|xml|html