我正在尝试创建自定义处理程序以将响应序列化为 csv 格式。
到目前为止,我一直在遵循文档中的步骤(http://symfony.com/doc/master/bundles/FOSRestBundle/2-the-view-layer.html#custom-handler),但是当使用 . csv 扩展名我仍然收到错误:
The format "csv" is not supported for serialization.
这是我的services.yml配置:
api.csv_handler:
class: ApiBundle\ViewHandlers\CsvViewHandler
api.view_handler:
parent: fos_rest.view_handler.default
calls:
- ["registerHandler", ["csv", ["@api.csv_handler", "createResponse"]]]
Run Code Online (Sandbox Code Playgroud)
在config.yml,下fos_rest我有这个:
view:
mime_types: { 'csv': ['text/csv','text/plain'] }
view_response_listener: 'force'
formats:
json: true
xml: true
csv: true
templating_formats:
html: true
format_listener:
enabled: true
rules:
- { path: ^/, priorities: [ json, xml, csv ], fallback_format: json, prefer_extension: false }
- { path: ^/api/doc, priorities: [ …Run Code Online (Sandbox Code Playgroud)