2016-08-02 14 views
0

Ich habe ein voll funktionierendes Projekt mit Symfony, und ich muss etwas Ruhe API in ihm hinzufügen.FosRestBundle Mixing Zweig und JSON

Ich verwende FosRestBundle, und es ist schon in meinem localhost arbeite folgende configs mit:

# FOSRest Configuration 
fos_rest: 
    body_listener: true 
    format_listener: 
     rules: 
      - { path: '^/', priorities: ['json'], fallback_format: json, prefer_extension: false } 
    param_fetcher_listener: true 
    view: 
     view_response_listener: 'force' 
     formats: 
      json: true 

Wenn im Code setzt in der prod Umgebung (das voll in meinem localhost in Betrieb), der Rest api weiter zu arbeiten, aber alle meine anderen Controller gibt mir nur einen "Text" anstelle von HTML. Ich sehe den Code auf dem Bildschirm anstelle meiner Vorlage.

Wer weiß, was dieses Verhalten verursacht?

class TestRestController extends FOSRestController 
{ 
    /** 
    * @Rest\Get("/test") 
    * @QueryParam(name="id") 
    * @QueryParam(name="name") 
    */ 
    public function indexAction(\FOS\RestBundle\Request\ParamFetcher $paramFetcher){ 
     .... 
    } 

} 

Danke.

Antwort

2

Zum Beispiel, wenn alle API-Instanzen mit /api/... beginnt, können Sie diese Konfiguration verwenden können:

fos_rest: 
    format_listener: 
     rules: 
      - { path: ^/api, priorities: [ json, xml ], fallback_format: json, prefer_extension: true } 
      - { path: '^/', priorities: ['text/html', '*/*'], fallback_format: html, prefer_extension: true }