2016-11-01 19 views
0

私はSymfony2のとWebサービスの残りの部分を作成したい、 私はcommandeをしようとしたとき、私はSerializerBundle & FOSRestBundle をインストールしていますphp app/console router:debug この目的のために、私は次のエラーを取得しています。symfonyの - のRuntimeException:注釈に不明なキー「クラス」「@FOS RestBundle コントローラ注釈ビュー」

[RuntimeException]                 
    Unknown key "class" for annotation "@FOS\RestBundle\Controller\Annotations\View". 

クラスビューが存在します。

<?php 

namespace Sdz\AdminBundle\Controller; 

use FOS\RestBundle\Controller\Annotations\View; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter; 

use Sdz\VoyageBundle\Entity\Promo; 
use Symfony\Bundle\FrameworkBundle\Controller\Controller; 

class RestpromoAction extends Controller 
{  
    /** 
    * @View("restpromo",class="SdzVoyageBundle:Promo") 
    * @ParamConverter() 
    */ 
    public function getPromorestAction(Promo $entitysPromo) 
    { 
     return array('restpromo'=>$entitysPromo); 
    } 
} 

どうすればこの問題を解決できますか?

答えて

1

@ParamConverterの代わりに@Viewに「クラス」パラメータを追加しました。

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

はあなたの問題を解決するために、あなたの@ParamConverterに変数名と対応するクラスを追加します。

これは、障害のあるラインです。

use FOS\RestBundle\Controller\Annotations as FOSRest; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration as SensioFrameworkExtra; 

/** 
* @FOSRest\View() 
* @SensioFrameworkExtra\ParamConverter(
*  "promo", 
*  class="SdzVoyageBundle:Promo" 
*) 
*/ 
public function getPromorestAction(Promo $promo) 
{ 
    return array(
     'restpromo' => $promo 
    ); 
}