Symfony - 运行时异常:注释"@FOSRestBundleControllerAnnotationsView"的未知键"class"



我想用symfony2创建web服务rest,我安装了SerializerBundle &FOSRestBundle当我尝试命令php app/console router:debug但是我得到了以下错误:

[RuntimeException]                                                                 
  Unknown key "class" for annotation "@FOSRestBundleControllerAnnotationsView". 

类View存在。

<?php
namespace SdzAdminBundleController;
use FOSRestBundleControllerAnnotationsView;
use SensioBundleFrameworkExtraBundleConfigurationParamConverter;
use SdzVoyageBundleEntityPromo;
use SymfonyBundleFrameworkBundleControllerController;
class RestpromoAction extends Controller
{    
    /**
     * @View("restpromo",class="SdzVoyageBundle:Promo")
     * @ParamConverter()
     */
    public function getPromorestAction(Promo $entitysPromo)
    {
        return array('restpromo'=>$entitysPromo);
    }
}

如何解决这个问题?

@ParamConverter改为@View

这是错误的行:

@View("restpromo",class="SdzVoyageBundle:Promo")

将变量名和相应的类添加到您的@ParamConverter中以解决您的问题。

use FOSRestBundleControllerAnnotations as FOSRest;
use SensioBundleFrameworkExtraBundleConfiguration as SensioFrameworkExtra;
/**
 * @FOSRestView()
 * @SensioFrameworkExtraParamConverter(
 *     "promo",
 *     class="SdzVoyageBundle:Promo"
 * )
 */
public function getPromorestAction(Promo $promo)
{
    return array(
        'restpromo' => $promo
    );
}

最新更新