11

私の対応する構成は

fos_rest:
    view:
        view_response_listener: force

sensio_framework_extra:
    view:
        annotations: false

ルートを次のように指定するのは本当に面倒です

@Route("/jobs", defaults={ "_format" = "json" })

毎回。

それで、デフォルトで想定される場所を指定することは可能ですか?

PS:

エンドポイントを削除defaults={ "_format" = "json" }して呼び出すと/jobs、例外が発生します

Unable to find template "APIBundle:Jobs:post.html.twig".

PPS:

routing_loader:
    default_format: json

自動ルート生成にのみ使用されるため、機能しません。

4

3 に答える 3

7

このソリューションを自分でテストすることはできませんでしたが、ドキュメントに従って、パスにルールを指定することでデフォルトの形式を使用できるようです

config.yml

fos_rest:
    format_listener:
        rules:
            # setting fallback_format to json means that instead of considering
            # the next rule in case of a priority mismatch, json will be used
            -
                path: '^/'
                host: 'api.%domain%'
                priorities: ['json', 'xml']
                fallback_format: json
                prefer_extension: false

ということでAccept-headers

text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,application/json

jsonリクエスト形式になります

于 2013-10-16T07:49:29.503 に答える