내 응용 프로그램의 일부는 API으로 사용할 수 있으므로 내 페이지 중 일부는 Accept 헤더 'Content Type'을 기반으로하여 JSON 또는 XML로 사용할 수 있어야합니다.Symfony2 + FOSRestBundle : 컨트롤러/액션별로 REST 기능을 활성화/비활성화 하시겠습니까?
가 나는 FOSRestBundle 사용했습니다 및 '콘텐츠 유형 : 응용 프로그램/XML을'Accept 헤더를 보낼 때 아주 잘 작동하지만, 지금 ALL 내 페이지가 XML (또는 JSON)에서 사용할 수 있습니다.
그래서 일부 컨트롤러/동작에 대해이 기능을 활성화/비활성화하고 싶습니다. 주석을 사용하여이 작업을 수행하는 것이 이상적입니다.
그럴 수 있습니까?
내 config.yml : 당신이 컨트롤러에 View
를 사용하지 않는 경우
fos_rest:
view:
formats:
rss: false
xml: true
json: true
templating_formats:
html: true
force_redirects:
html: false
failed_validation: HTTP_BAD_REQUEST
default_engine: twig
view_response_listener: force
body_listener:
decoders:
json: acme.decoder.json
xml: fos_rest.decoder.xml
format_listener:
default_priorities: ['html', 'xml', 'json', '*/*']
fallback_format: html
prefer_extension: false
좋은 소리입니다,하지만 작동하지 않습니다. –
그것은 나를 위해 작동합니다. 올바른'View' 주석 클래스를 사용하고 있습니까? 더 많은 정보를 제공 할 수 있습니까? –
FOS \ RestBundle \ Controller \ Annotations를 Rest;로 사용한다면, 주석은'@View'보다는'@Rest \ View'이어야합니다 – alexismorin