2016-08-02 53 views
0

我有一个使用symfony的完整工作项目,我需要在其中添加一些休息api。FosRestBundle混合树枝和json

我使用FosRestBundle,并且它已经在我的本地主机使用以下CONFIGS工作:

# 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 

当IM把这个代码(也就是在我的本地主机完全正常)在PROD环境,休息API继续工作,但我所有的其他控制器只是返回一个“文本”,而不是HTML。我在屏幕上看到了代码,而不是我的模板。

任何人都知道是什么造成这种行为?

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

} 

谢谢。

回答

2

举例来说,如果你所有的API情况下与/api/...开始,您可以使用此配置:

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 }