Dokumentace: https://fosrestbundle.readthedocs.io/en/3.x/#getting-started-with-fosrestbundle
Nastavení config/packages/for_res.yaml
# Read the documentation: https://fosrestbundle.readthedocs.io/en/3.x/
fos_rest:
# param_fetcher_listener: true
# allowed_methods_listener: true
routing_loader: false
# view:
# view_response_listener: true
# exception:
# codes:
# App\Exception\MyException: 403
# messages:
# App\Exception\MyException: Forbidden area.
format_listener:
rules:
- { path: ^/api, prefer_extension: true, fallback_format: json, priorities: [ json, html ] }
- { path: '^/', priorities: [ 'html', '*/*'], fallback_format: ~, prefer_extension: true }
- důležité jsou ty
rules
, nastavuju, že na /api/^ bude chodit primárně JSON a na /^ bude normálně chodit HTMLko z Controllerů
Důležité je také nastavit to, že Api Controllery sedí jinde (v routes.yaml):
controllers:
resource:
path: ../src/Controller/
namespace: App\Controller
type: attribute
api:
resource: ../src/Api/Controller/
prefix: /api
type: attribute