2016-07-19 9 views
2

私はCSV形式の応答をシリアル化するカスタムハンドラを作成しようとしています。FOSRestBundleカスタムビューハンドラが登録されていません

The format "csv" is not supported for serialization.

はここに私のservices.yml設定ビットです:これまでのところ、私はドキュメント(http://symfony.com/doc/master/bundles/FOSRestBundle/2-the-view-layer.html#custom-handler)からのステップ.CSV拡張子を持つ私のエンドポイントを呼び出すときに、しかし、私はまだエラーを取得し、次のしてきた

api.csv_handler: 
    class: ApiBundle\ViewHandlers\CsvViewHandler 

api.view_handler: 
    parent: fos_rest.view_handler.default 
    calls: 
     - ["registerHandler", ["csv", ["@api.csv_handler", "createResponse"]]] 

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: [ html ], fallback_format: html, prefer_extension: false } 

私のCsvViewHandlerクラス内のcreateResponseメソッドは現在、それが動作しているかどうかを確認するためのデバッグコードしか含んでいません。

ここで私は何が欠けていますか?

+0

あなたはこの問題を解決するのですか? –

+0

アイデアを放棄しました – Nicolas

答えて

2

あなたはFOSRestバンドル構成で、あなたのビューハンドラを登録する必要があります。

fos_rest: 
    ... 
    service: 
     view_handler: my_bundle.view_handler 
    ... 



services: 
    ... 
    my_bundle.my_handler: 
     class: MyBundle\View\MyHandler 
    my_bundle.view_handler: 
     parent: fos_rest.view_handler.default 
     calls: 
      - ['registerHandler', [ 'my_format', ["@my_bundle.my_handler", 'createResponse'] ] ] 
    ... 
関連する問題