FOS rest bundle: unable to find template
Solution 1
I managed to resolve this issue by setting the listener explicitly to false:
fos_rest:
format_listener: false
EDIT
This also works:
fos_rest:
format_listener:
prefer_extension: false
default_priorities:
- json
Solution 2
For FOSRestBundle version 2.0 the config should be
fos_rest:
format_listener:
rules:
prefer_extension: false
fallback_format: json
Solution 3
(For reference) If One is testing with a rest client or manually be sure to set the header in your request: Accept:application/json
Because fosRestBundle tries to determine the proper response type from the headers in the request.
Solution 4
Annotate your controller action with @View
to resolve this issue.
use FOS\RestBundle\View\View;
Have a look at the documentation chapter View Response listener.
If you don't want to annotate every action - you can set the @View annotation for a complete class using my pull request here.
Add this to your composer.json to use the PR.
"require": {
"friendsofsymfony/rest-bundle": "dev-dev-view-addition as 0.12.0",
// ...
"repositories": [
{
"type": "vcs",
"url": "https://github.com/nifr/FOSRestBundle"
},
Tjorriemorrie
I am a self-taught developer: started out with php and switched over to python.
Updated on June 04, 2022Comments
-
Tjorriemorrie almost 2 years
I get the exception:
Unable to find template ""
The other similar questions didn't help; and weirdly enough it was working fine and then suddenly started giving me this exception.
composer:
"friendsofsymfony/rest-bundle": "0.13.*@dev", "jms/serializer-bundle": "0.12.*@dev",
I'm following Automatic route generation: single RESTful controller (for simple resources)
config:
fos_rest: format_listener: true routing_loader: default_format: json view: view_response_listener: 'force' serializer: serialize_null: true sensio_framework_extra: view: { annotations: false } router: { annotations: true }
routing:
sectors: type: rest prefix: /{v} resource: JJ\MainBundle\Controller\SectorsController
controller:
/** * @RouteResource("Sector") */ class SectorsController extends Controller ... public function cgetAction() { return $this->getSectorIndustryRepo()->findAll(); }