FOSRestBundle注释不起作用

时间:2014-09-05 12:23:13

标签: symfony fosrestbundle

FOSRestBundle注释对我不起作用。

use FOS\RestBundle\Controller\Annotations as Rest;

// ...

/**
* @Rest\RequestParam(name="email")
*/
public function someAction(Request $request) 
{ 
   // some code
}

这是我的配置:

fos_rest:
    param_fetcher_listener: true
    body_listener: true
    format_listener: false
    routing_loader:
       default_format: json
    view:
        view_response_listener: 'force'
        formats:
            xml: false
            json : true
        default_engine: none
        templating_formats:
            html: true
    access_denied_listener:
        json: true
    allowed_methods_listener: true

对此操作的请求会忽略注释,只执行方法的代码。似乎应该解决这些注释的侦听器没有运行。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

param_fetcher_listener: true更改为param_fetcher_listener: force并将代码移至:

use FOS\RestBundle\Request\ParamFetcher

/**
 * @Rest\RequestParam(name="email")
 */
public function someAction(ParamFetcher $paramFetcher) {

   $email = $paramFetcher->get('email');
} 

注意:Request参数必须作为POST传递