У меня проблема с конфигурацией Symfony FosRest для управления версиями URI ... Мой fos_rest.yaml: fos_rest:
disable_csrf_role: ROLE_API
param_fetcher_listener: true
view:
mime_types:
# json: ['application/json', 'application/json;version=1.0', 'application/json;version=1.1', 'application/json;version=1.2']
# xml: ['application/xml', 'application/xml']
view_response_listener: 'force'
formats:
xml: true
json: true
templating_formats:
html: true
format_listener:
rules:
- { path: '^/api', priorities: ['json', 'xml'], fallback_format: json, prefer_extension: true }
- { path: ^/, priorities: [ html, json, xml ], fallback_format: ~, prefer_extension: true, stop: true }
versioning:
enabled: true
default_version: v1
resolvers:
media_type:
enabled: true
exception:
codes:
'Symfony\Component\Routing\Exception\ResourceNotFoundException': 404
'Doctrine\ORM\OptimisticLockException': HTTP_CONFLICT
messages:
'Symfony\Component\Routing\Exception\ResourceNotFoundException': true
allowed_methods_listener: true
access_denied_listener:
json: true
body_listener: true
rout.yaml:
users:
type: rest
resource: App\Controller\Api\UsersRestController
prefix: /api/{version}/
name_prefix: api_
tests:
type: rest
resource: App\Controller\Api\TestsRestController
prefix: /api/{version}/
name_prefix: api_
Это работает:
/**
* @Version("v1")
*/
class TestsRestController extends AbstractFOSRestController {
, но это не:
/**
* @Version("v2")
*/
class TestsRestController extends AbstractFOSRestController {
, когда я изменяю default_version: v1 на v2 работает только там, где я объявляю v2
Спасибо за помощь