我想用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
);
}