fos_rest:
param_fetcher_listener: true
body_listener: true
- format_listener: true
view:
+ mime_types:
+ csv:
+ - 'text/csv'
+ - 'text/plain'
+ pdf:
+ - 'application/pdf'
+ epub:
+ - 'application/epub+zip'
+ mobi:
+ - 'application/x-mobipocket-ebook'
view_response_listener: 'force'
formats:
xml: true
- json : true
+ json: true
+ txt: true
+ csv: true
+ pdf: true
+ epub: true
+ mobi: true
templating_formats:
html: true
force_redirects:
default_engine: twig
routing_loader:
default_format: json
+ format_listener:
+ enabled: true
+ rules:
+ - { path: "^/api/entries/([0-9]+)/export.(.*)", priorities: ['epub', 'mobi', 'pdf', 'txt', 'csv'], fallback_format: false, prefer_extension: false }
+ - { path: "^/api", priorities: ['json', 'xml'], fallback_format: false, prefer_extension: false }
+ - { path: "^/annotations", priorities: ['json', 'xml'], fallback_format: false, prefer_extension: false }
+ # for an unknown reason, EACH REQUEST goes to FOS\RestBundle\EventListener\FormatListener
+ # so we need to add custom rule for custom api export but also for all other routes of the application...
+ - { path: '^/', priorities: ['text/html', '*/*'], fallback_format: html, prefer_extension: false }
nelmio_api_doc:
sandbox:
Rest_Wallabag:
- type : rest
- resource: "@WallabagApiBundle/Resources/config/routing_rest.yml"
-
+ type : rest
+ resource: "@WallabagApiBundle/Resources/config/routing_rest.yml"
"sensio/framework-extra-bundle": "^3.0.2",
"incenteev/composer-parameter-handler": "^2.0",
"nelmio/cors-bundle": "~1.4.0",
- "friendsofsymfony/rest-bundle": "~1.4",
- "jms/serializer-bundle": "~1.0",
+ "friendsofsymfony/rest-bundle": "~2.1",
+ "jms/serializer-bundle": "~1.1",
"nelmio/api-doc-bundle": "~2.7",
"mgargano/simplehtmldom": "~1.5",
"tecnickcom/tcpdf": "~6.2",
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
use Wallabag\CoreBundle\Entity\Entry;
use Wallabag\CoreBundle\Entity\Tag;
-use FOS\RestBundle\Controller\Annotations\Route;
class WallabagRestController extends FOSRestController
{
* }
* )
*
- * @Route(requirements={"_format"="epub|mobi|pdf|txt|csv"})
- *
* @return Response
*/
public function getEntryExportAction(Entry $entry, Request $request)