Fix deprecated route options

This commit is contained in:
Sullivan SENECHAL 2015-04-30 15:34:19 +02:00 committed by William Durand
parent 189197dc88
commit 32de80f97f
No known key found for this signature in database
GPG Key ID: A509BCF1C1274F3B
12 changed files with 140 additions and 162 deletions

View File

@ -480,8 +480,8 @@ class ApiDoc
$this->host = null; $this->host = null;
} }
$this->uri = $route->getPattern(); $this->uri = $route->getPath();
$this->method = $route->getRequirement('_method') ?: 'ANY'; $this->method = $route->getMethods() ? implode('|', $route->getMethods()) : 'ANY';
} }
/** /**

View File

@ -132,7 +132,7 @@ class ApiDocExtractor
$resources[] = $resource; $resources[] = $resource;
} else { } else {
// remove format from routes used for resource grouping // remove format from routes used for resource grouping
$resources[] = str_replace('.{_format}', '', $route->getPattern()); $resources[] = str_replace('.{_format}', '', $route->getPath());
} }
} }
@ -151,10 +151,10 @@ class ApiDocExtractor
rsort($resources); rsort($resources);
foreach ($array as $index => $element) { foreach ($array as $index => $element) {
$hasResource = false; $hasResource = false;
$pattern = $element['annotation']->getRoute()->getPattern(); $path = $element['annotation']->getRoute()->getPath();
foreach ($resources as $resource) { foreach ($resources as $resource) {
if (0 === strpos($pattern, $resource) || $resource === $element['annotation']->getResource()) { if (0 === strpos($path, $resource) || $resource === $element['annotation']->getResource()) {
$array[$index]['resource'] = $resource; $array[$index]['resource'] = $resource;
$hasResource = true; $hasResource = true;
@ -170,14 +170,14 @@ class ApiDocExtractor
$methodOrder = array('GET', 'POST', 'PUT', 'DELETE'); $methodOrder = array('GET', 'POST', 'PUT', 'DELETE');
usort($array, function ($a, $b) use ($methodOrder) { usort($array, function ($a, $b) use ($methodOrder) {
if ($a['resource'] === $b['resource']) { if ($a['resource'] === $b['resource']) {
if ($a['annotation']->getRoute()->getPattern() === $b['annotation']->getRoute()->getPattern()) { if ($a['annotation']->getRoute()->getPath() === $b['annotation']->getRoute()->getPath()) {
$methodA = array_search($a['annotation']->getRoute()->getRequirement('_method'), $methodOrder); $methodA = array_search($a['annotation']->getRoute()->getMethods(), $methodOrder);
$methodB = array_search($b['annotation']->getRoute()->getRequirement('_method'), $methodOrder); $methodB = array_search($b['annotation']->getRoute()->getMethods(), $methodOrder);
if ($methodA === $methodB) { if ($methodA === $methodB) {
return strcmp( return strcmp(
$a['annotation']->getRoute()->getRequirement('_method'), implode('|', $a['annotation']->getRoute()->getMethods()),
$b['annotation']->getRoute()->getRequirement('_method') implode('|', $b['annotation']->getRoute()->getMethods())
); );
} }
@ -185,8 +185,8 @@ class ApiDocExtractor
} }
return strcmp( return strcmp(
$a['annotation']->getRoute()->getPattern(), $a['annotation']->getRoute()->getPath(),
$b['annotation']->getRoute()->getPattern() $b['annotation']->getRoute()->getPath()
); );
} }

View File

@ -567,17 +567,17 @@ class SwaggerFormatter implements FormatterInterface
/** /**
* Strips the base path from a URL path. * Strips the base path from a URL path.
* *
* @param $path * @param $basePath
* @return mixed * @return mixed
*/ */
protected function stripBasePath($path) protected function stripBasePath($basePath)
{ {
if ('/' === $this->basePath) { if ('/' === $this->basePath) {
return $path; return $basePath;
} }
$pattern = sprintf('#^%s#', preg_quote($this->basePath)); $path = sprintf('#^%s#', preg_quote($this->basePath));
$subPath = preg_replace($pattern, '', $path); $subPath = preg_replace($path, '', $basePath);
return $subPath; return $subPath;
} }

View File

@ -1,11 +1,9 @@
nelmio_api_doc_swagger_resource_list: nelmio_api_doc_swagger_resource_list:
pattern: / path: /
methods: [GET]
defaults: { _controller: NelmioApiDocBundle:ApiDoc:swagger } defaults: { _controller: NelmioApiDocBundle:ApiDoc:swagger }
requirements:
_method: GET
nelmio_api_doc_swagger_api_declaration: nelmio_api_doc_swagger_api_declaration:
pattern: /{resource} path: /{resource}
methods: [GET]
defaults: { _controller: NelmioApiDocBundle:ApiDoc:swagger } defaults: { _controller: NelmioApiDocBundle:ApiDoc:swagger }
requirements:
_method: GET

View File

@ -228,8 +228,8 @@ class YourType extends AbstractType
``` ```
The bundle will also get information from the routing definition The bundle will also get information from the routing definition
(`requirements`, `pattern`, etc), so to get the best out of it you should (`requirements`, `path`, etc), so to get the best out of it you should
define strict _method requirements etc. define strict methods requirements etc.
### Multiple API Documentation ("Views") ### Multiple API Documentation ("Views")

View File

@ -88,9 +88,9 @@ class DumpCommandTest extends WebTestCase
'/api/resources[0].uri' => '/api/resources.{_format}', '/api/resources[0].uri' => '/api/resources.{_format}',
'/api/resources[1].method' => 'POST', '/api/resources[1].method' => 'POST',
'/api/resources[1].uri' => '/api/resources.{_format}', '/api/resources[1].uri' => '/api/resources.{_format}',
'/api/resources[2].method' => 'GET', '/api/resources[2].method' => 'DELETE',
'/api/resources[2].uri' => '/api/resources/{id}.{_format}', '/api/resources[2].uri' => '/api/resources/{id}.{_format}',
'/api/resources[3].method' => 'DELETE', '/api/resources[3].method' => 'GET',
'/api/resources[3].uri' => '/api/resources/{id}.{_format}', '/api/resources[3].uri' => '/api/resources/{id}.{_format}',
) )
), ),

View File

@ -145,7 +145,7 @@ class ApiDocExtractorTest extends WebTestCase
$this->assertNull($data); $this->assertNull($data);
} }
public function testGetWithInvalidPattern() public function testGetWithInvalidPath()
{ {
$container = $this->getContainer(); $container = $this->getContainer();
$extractor = $container->get('nelmio_api_doc.extractor.api_doc_extractor'); $extractor = $container->get('nelmio_api_doc.extractor.api_doc_extractor');

View File

@ -1,207 +1,191 @@
test_route_1: test_route_1:
pattern: /tests.{_format} path: /tests.{_format}
methods: [GET]
defaults: { _controller: NelmioApiDocTestBundle:Test:index, _format: json } defaults: { _controller: NelmioApiDocTestBundle:Test:index, _format: json }
requirements:
_method: GET
test_route_2: test_route_2:
pattern: /tests.{_format} path: /tests.{_format}
host: api.test.dev host: api.test.dev
methods: [POST]
defaults: { _controller: NelmioApiDocTestBundle:Test:postTest, _format: json } defaults: { _controller: NelmioApiDocTestBundle:Test:postTest, _format: json }
requirements:
_method: POST
test_route_3: test_route_3:
pattern: /another path: /another
defaults: { _controller: NelmioApiDocTestBundle:Test:another } defaults: { _controller: NelmioApiDocTestBundle:Test:another }
test_route_4: test_route_4:
pattern: /any/{foo} path: /any/{foo}
defaults: { _controller: NelmioApiDocTestBundle:Test:any, _format: json } defaults: { _controller: NelmioApiDocTestBundle:Test:any, _format: json }
test_route_5: test_route_5:
pattern: /my-commented/{id}/{page}/{paramType}/{param} path: /my-commented/{id}/{page}/{paramType}/{param}
defaults: { _controller: NelmioApiDocTestBundle:Test:myCommented } defaults: { _controller: NelmioApiDocTestBundle:Test:myCommented }
test_route_6: test_route_6:
pattern: /yet-another/{id} path: /yet-another/{id}
defaults: { _controller: NelmioApiDocTestBundle:Test:yetAnother } defaults: { _controller: NelmioApiDocTestBundle:Test:yetAnother }
requirements: requirements:
id: \d+ id: \d+
test_route_7: test_route_7:
pattern: /another-post path: /another-post
methods: [POST]
defaults: { _controller: NelmioApiDocTestBundle:Test:anotherPost, _format: json } defaults: { _controller: NelmioApiDocTestBundle:Test:anotherPost, _format: json }
requirements:
_method: POST
test_route_8: test_route_8:
pattern: /z-action-with-query-param path: /z-action-with-query-param
methods: [GET]
defaults: { _controller: NelmioApiDocTestBundle:Test:zActionWithQueryParam } defaults: { _controller: NelmioApiDocTestBundle:Test:zActionWithQueryParam }
requirements:
_method: GET
test_route_9: test_route_9:
pattern: /jms-input-test path: /jms-input-test
methods: [POST]
defaults: { _controller: NelmioApiDocTestBundle:Test:jmsInputTest } defaults: { _controller: NelmioApiDocTestBundle:Test:jmsInputTest }
requirements:
_method: POST
test_route_10: test_route_10:
pattern: /jms-return-test path: /jms-return-test
methods: [GET]
defaults: { _controller: NelmioApiDocTestBundle:Test:jmsReturnTest } defaults: { _controller: NelmioApiDocTestBundle:Test:jmsReturnTest }
requirements:
_method: GET
test_route_11: test_route_11:
pattern: /z-action-with-request-param path: /z-action-with-request-param
methods: [POST]
defaults: { _controller: NelmioApiDocTestBundle:Test:zActionWithRequestParam } defaults: { _controller: NelmioApiDocTestBundle:Test:zActionWithRequestParam }
requirements:
_method: POST
test_route_12: test_route_12:
pattern: /secure-route path: /secure-route
schemes: [https]
defaults: { _controller: NelmioApiDocTestBundle:Test:secureRoute } defaults: { _controller: NelmioApiDocTestBundle:Test:secureRoute }
requirements:
_scheme: https
test_route_13: test_route_13:
pattern: /authenticated path: /authenticated
defaults: { _controller: NelmioApiDocTestBundle:Test:authenticated } defaults: { _controller: NelmioApiDocTestBundle:Test:authenticated }
test_service_route_1: test_service_route_1:
pattern: /tests.{_format} path: /tests.{_format}
methods: [GET]
defaults: { _controller: nelmio.test.controller:indexAction, _format: json } defaults: { _controller: nelmio.test.controller:indexAction, _format: json }
requirements:
_method: GET
test_service_route_2: test_service_route_2:
pattern: /tests.{_format} path: /tests.{_format}
host: api.test.dev host: api.test.dev
methods: [POST]
defaults: { _controller: nelmio.test.controller:postTestAction, _format: json } defaults: { _controller: nelmio.test.controller:postTestAction, _format: json }
requirements:
_method: POST
test_service_route_3: test_service_route_3:
pattern: /another path: /another
defaults: { _controller: nelmio.test.controller:anotherAction } defaults: { _controller: nelmio.test.controller:anotherAction }
test_service_route_4: test_service_route_4:
pattern: /any path: /any
defaults: { _controller: nelmio.test.controller:anyAction, _format: json } defaults: { _controller: nelmio.test.controller:anyAction, _format: json }
NelmioApiDocBundle: NelmioApiDocBundle:
resource: "@NelmioApiDocBundle/Resources/config/routing.yml" resource: "@NelmioApiDocBundle/Resources/config/routing.yml"
prefix: / prefix: /
test_route_14: test_route_14:
pattern: /tests2.{_format} path: /tests2.{_format}
methods: [POST]
defaults: { _controller: NelmioApiDocTestBundle:Test:postTest2, _format: json } defaults: { _controller: NelmioApiDocTestBundle:Test:postTest2, _format: json }
requirements:
_method: POST
test_route_15: test_route_15:
pattern: /z-action-with-query-param-strict path: /z-action-with-query-param-strict
methods: [GET]
defaults: { _controller: NelmioApiDocTestBundle:Test:zActionWithQueryParamStrict } defaults: { _controller: NelmioApiDocTestBundle:Test:zActionWithQueryParamStrict }
requirements:
_method: GET
test_route_16: test_route_16:
pattern: /z-action-with-query-param-no-default path: /z-action-with-query-param-no-default
methods: [GET]
defaults: { _controller: NelmioApiDocTestBundle:Test:zActionWithQueryParamNoDefault } defaults: { _controller: NelmioApiDocTestBundle:Test:zActionWithQueryParamNoDefault }
requirements:
_method: GET
test_route_17: test_route_17:
pattern: /z-action-with-deprecated-indicator path: /z-action-with-deprecated-indicator
methods: [GET]
defaults: { _controller: NelmioApiDocTestBundle:Test:deprecated } defaults: { _controller: NelmioApiDocTestBundle:Test:deprecated }
requirements:
_method: GET
test_return_nested_output: test_return_nested_output:
pattern: /return-nested-output path: /return-nested-output
defaults: { _controller: NelmioApiDocTestBundle:Test:jmsReturnNestedOutput, _format: json } defaults: { _controller: NelmioApiDocTestBundle:Test:jmsReturnNestedOutput, _format: json }
test_return_nested_extend_output: test_return_nested_extend_output:
pattern: /return-nested-extend-output path: /return-nested-extend-output
defaults: { _controller: NelmioApiDocTestBundle:Test:jmsReturnNestedExtendOutput, _format: json } defaults: { _controller: NelmioApiDocTestBundle:Test:jmsReturnNestedExtendOutput, _format: json }
test_route_18: test_route_18:
pattern: /z-return-jms-and-validator-output path: /z-return-jms-and-validator-output
defaults: { _controller: NelmioApiDocTestBundle:Test:zReturnJmsAndValidationOutput } defaults: { _controller: NelmioApiDocTestBundle:Test:zReturnJmsAndValidationOutput }
test_route_named_resource: test_route_named_resource:
pattern: /named-resource path: /named-resource
defaults: { _controller: NelmioApiDocTestBundle:Test:namedResource } defaults: { _controller: NelmioApiDocTestBundle:Test:namedResource }
test_route_19: test_route_19:
pattern: /z-return-selected-parsers-output path: /z-return-selected-parsers-output
defaults: { _controller: NelmioApiDocTestBundle:Test:zReturnSelectedParsersOutput } defaults: { _controller: NelmioApiDocTestBundle:Test:zReturnSelectedParsersOutput }
test_route_20: test_route_20:
pattern: /z-return-selected-parsers-input path: /z-return-selected-parsers-input
defaults: { _controller: NelmioApiDocTestBundle:Test:zReturnSelectedParsersInput } defaults: { _controller: NelmioApiDocTestBundle:Test:zReturnSelectedParsersInput }
test_route_private: test_route_private:
pattern: /private path: /private
defaults: { _controller: NelmioApiDocTestBundle:Test:private } defaults: { _controller: NelmioApiDocTestBundle:Test:private }
test_route_exclusive: test_route_exclusive:
pattern: /exclusive path: /exclusive
defaults: { _controller: NelmioApiDocTestBundle:Test:exclusive } defaults: { _controller: NelmioApiDocTestBundle:Test:exclusive }
test_route_21: test_route_21:
pattern: /z-action-with-constraint-requirements path: /z-action-with-constraint-requirements
methods: [GET]
defaults: { _controller: NelmioApiDocTestBundle:Test:zActionWithConstraintAsRequirements } defaults: { _controller: NelmioApiDocTestBundle:Test:zActionWithConstraintAsRequirements }
requirements:
_method: GET
test_route_22: test_route_22:
pattern: /z-action-with-nullable-request-param path: /z-action-with-nullable-request-param
methods: [POST]
defaults: { _controller: NelmioApiDocTestBundle:Test:zActionWithNullableRequestParam } defaults: { _controller: NelmioApiDocTestBundle:Test:zActionWithNullableRequestParam }
requirements:
_method: POST
test_route_list_resource: test_route_list_resource:
pattern: /api/resources.{_format} path: /api/resources.{_format}
methods: [GET]
defaults: { _controller: NelmioApiDocTestBundle:Resource:listResources, _format: json } defaults: { _controller: NelmioApiDocTestBundle:Resource:listResources, _format: json }
requirements: requirements:
_method: GET
_format: json|xml|html _format: json|xml|html
test_route_get_resource: test_route_get_resource:
pattern: /api/resources/{id}.{_format} path: /api/resources/{id}.{_format}
methods: [GET]
defaults: { _controller: NelmioApiDocTestBundle:Resource:getResource, _format: json } defaults: { _controller: NelmioApiDocTestBundle:Resource:getResource, _format: json }
requirements: requirements:
_method: GET
_format: json|xml|html _format: json|xml|html
test_route_delete_resource: test_route_delete_resource:
pattern: /api/resources/{id}.{_format} path: /api/resources/{id}.{_format}
methods: [DELETE]
defaults: { _controller: NelmioApiDocTestBundle:Resource:deleteResource, _format: json } defaults: { _controller: NelmioApiDocTestBundle:Resource:deleteResource, _format: json }
requirements: requirements:
_method: DELETE
_format: json|xml|html _format: json|xml|html
test_route_create_resource: test_route_create_resource:
pattern: /api/resources.{_format} path: /api/resources.{_format}
methods: [POST]
defaults: { _controller: NelmioApiDocTestBundle:Resource:createResource, _format: json } defaults: { _controller: NelmioApiDocTestBundle:Resource:createResource, _format: json }
requirements: requirements:
_method: POST
_format: json|xml|html _format: json|xml|html
test_route_list_another_resource: test_route_list_another_resource:
pattern: /api/other-resources.{_format} path: /api/other-resources.{_format}
methods: [GET]
defaults: { _controller: NelmioApiDocTestBundle:Resource:listAnotherResources, _format: json } defaults: { _controller: NelmioApiDocTestBundle:Resource:listAnotherResources, _format: json }
requirements: requirements:
_method: GET
_format: json|xml|html _format: json|xml|html
test_route_update_another_resource: test_route_update_another_resource:
pattern: /api/other-resources/{id}.{_format} path: /api/other-resources/{id}.{_format}
methods: [PUT, PATCH]
defaults: { _controller: NelmioApiDocTestBundle:Resource:updateAnotherResource, _format: json } defaults: { _controller: NelmioApiDocTestBundle:Resource:updateAnotherResource, _format: json }
requirements: requirements:
_method: PUT|PATCH
_format: json|xml|html _format: json|xml|html
swagger_doc: swagger_doc:
@ -209,39 +193,35 @@ swagger_doc:
prefix: /api-docs prefix: /api-docs
test_route_23: test_route_23:
pattern: /zcached path: /zcached
methods: [POST]
defaults: { _controller: NelmioApiDocTestBundle:Test:zCached } defaults: { _controller: NelmioApiDocTestBundle:Test:zCached }
requirements:
_method: POST
test_route_24: test_route_24:
pattern: /zsecured path: /zsecured
methods: [POST]
defaults: { _controller: NelmioApiDocTestBundle:Test:zSecured } defaults: { _controller: NelmioApiDocTestBundle:Test:zSecured }
requirements:
_method: POST
test_required_parameters: test_required_parameters:
pattern: /api/other-resources/{id}.{_format} path: /api/other-resources/{id}.{_format}
methods: [POST]
defaults: { _controller: NelmioApiDocTestBundle:Resource:requiredParametersAction, _format: json } defaults: { _controller: NelmioApiDocTestBundle:Resource:requiredParametersAction, _format: json }
requirements: requirements:
_method: POST
_format: json|xml|html _format: json|xml|html
test_put_disables_required_parameters: test_put_disables_required_parameters:
pattern: /api/other-resources/{id}.{_format} path: /api/other-resources/{id}.{_format}
methods: [PUT]
defaults: { _controller: NelmioApiDocTestBundle:Resource:requiredParametersAction, _format: json } defaults: { _controller: NelmioApiDocTestBundle:Resource:requiredParametersAction, _format: json }
requirements: requirements:
_method: PUT
_format: json|xml|html _format: json|xml|html
test_route_25: test_route_25:
pattern: /with-link path: /with-link
methods: [GET]
defaults: { _controller: NelmioApiDocTestBundle:Test:withLinkAction } defaults: { _controller: NelmioApiDocTestBundle:Test:withLinkAction }
requirements:
_method: GET
test_route_26: test_route_26:
pattern: /z-action-with-array-request-param path: /z-action-with-array-request-param
methods: [POST]
defaults: { _controller: NelmioApiDocTestBundle:Test:zActionWithArrayRequestParamAction } defaults: { _controller: NelmioApiDocTestBundle:Test:zActionWithArrayRequestParamAction }
requirements:
_method: POST

View File

@ -426,9 +426,9 @@ since_and_until:
* versions: >=0.4,<=0.5 * versions: >=0.4,<=0.5
### `GET` /api/resources/{id}.{_format} ### ### `DELETE` /api/resources/{id}.{_format} ###
_Retrieve a resource by ID._ _Delete a resource by ID._
#### Requirements #### #### Requirements ####
@ -439,9 +439,9 @@ _Retrieve a resource by ID._
### `DELETE` /api/resources/{id}.{_format} ### ### `GET` /api/resources/{id}.{_format} ###
_Delete a resource by ID._ _Retrieve a resource by ID._
#### Requirements #### #### Requirements ####

View File

@ -866,9 +866,9 @@ With multiple lines.',
), ),
2 => 2 =>
array ( array (
'method' => 'GET', 'method' => 'DELETE',
'uri' => '/api/resources/{id}.{_format}', 'uri' => '/api/resources/{id}.{_format}',
'description' => 'Retrieve a resource by ID.', 'description' => 'Delete a resource by ID.',
'requirements' => 'requirements' =>
array ( array (
'_format' => '_format' =>
@ -893,9 +893,9 @@ With multiple lines.',
), ),
3 => 3 =>
array ( array (
'method' => 'DELETE', 'method' => 'GET',
'uri' => '/api/resources/{id}.{_format}', 'uri' => '/api/resources/{id}.{_format}',
'description' => 'Delete a resource by ID.', 'description' => 'Retrieve a resource by ID.',
'requirements' => 'requirements' =>
array ( array (
'_format' => '_format' =>
@ -1672,6 +1672,30 @@ And, it supports multilines until the first \'@\' char.',
'section' => 'Popo', 'section' => 'Popo',
), ),
9 => 9 =>
array (
'method' => 'DELETE',
'uri' => '/popos/{id}',
'description' => 'Deletes the Popo resource.',
'documentation' => 'Deletes an element of the collection.',
'requirements' =>
array (
'id' =>
array (
'dataType' => 'string',
'description' => '',
'requirement' => '',
),
),
'https' => false,
'authentication' => false,
'authenticationRoles' =>
array (
),
'deprecated' => false,
'resourceDescription' => 'Popo',
'section' => 'Popo',
),
10 =>
array ( array (
'method' => 'GET', 'method' => 'GET',
'uri' => '/popos/{id}', 'uri' => '/popos/{id}',
@ -1705,7 +1729,7 @@ And, it supports multilines until the first \'@\' char.',
'resourceDescription' => 'Popo', 'resourceDescription' => 'Popo',
'section' => 'Popo', 'section' => 'Popo',
), ),
10 => 11 =>
array ( array (
'method' => 'PUT', 'method' => 'PUT',
'uri' => '/popos/{id}', 'uri' => '/popos/{id}',
@ -1749,30 +1773,6 @@ And, it supports multilines until the first \'@\' char.',
'resourceDescription' => 'Popo', 'resourceDescription' => 'Popo',
'section' => 'Popo', 'section' => 'Popo',
), ),
11 =>
array (
'method' => 'DELETE',
'uri' => '/popos/{id}',
'description' => 'Deletes the Popo resource.',
'documentation' => 'Deletes an element of the collection.',
'requirements' =>
array (
'id' =>
array (
'dataType' => 'string',
'description' => '',
'requirement' => '',
),
),
'https' => false,
'authentication' => false,
'authenticationRoles' =>
array (
),
'deprecated' => false,
'resourceDescription' => 'Popo',
'section' => 'Popo',
),
12 => 12 =>
array ( array (
'method' => 'ANY', 'method' => 'ANY',

View File

@ -338,11 +338,10 @@ class SwaggerFormatterTest extends WebTestCase
'path' => '/resources/{id}.{_format}', 'path' => '/resources/{id}.{_format}',
'operations' => 'operations' =>
array( array(
array( array(
'method' => 'GET', 'method' => 'DELETE',
'summary' => 'Retrieve a resource by ID.', 'summary' => 'Delete a resource by ID.',
'nickname' => 'get_resources', 'nickname' => 'delete_resources',
'parameters' => 'parameters' =>
array( array(
@ -369,9 +368,9 @@ class SwaggerFormatterTest extends WebTestCase
array(), array(),
), ),
array( array(
'method' => 'DELETE', 'method' => 'GET',
'summary' => 'Delete a resource by ID.', 'summary' => 'Retrieve a resource by ID.',
'nickname' => 'delete_resources', 'nickname' => 'get_resources',
'parameters' => 'parameters' =>
array( array(

1
change
View File

@ -35,3 +35,4 @@
* Fixed: endpoint is undefined in sandbox when custom_endpoint is disabled * Fixed: endpoint is undefined in sandbox when custom_endpoint is disabled
* Fixed: the wrong endpoint value check when no endpoint is set in config * Fixed: the wrong endpoint value check when no endpoint is set in config
* Fixed: Swagger commands * Fixed: Swagger commands
* Fixed: Deprecated usage of routes configuration since Symfony 2.2