2017-01-05 7 views
1

私はSymfony 3でAPIを開発しており、apidocを使ってドキュメントを作成したいと考えています。 Apidocは注釈で動作します:Symfony 3に特定のアノテーションを無視するように指示するには?

/** 
* @api {get} /user/:id Request User information 
* @apiName GetUser 
* @apiGroup User 
* 
* @apiParam {Number} id Users unique ID. 
* 
* @apiSuccess {String} firstname Firstname of the User. 
* @apiSuccess {String} lastname Lastname of the User. 
*/ 

しかし、symfonyは注釈の例外がスローされます。

[意味論的エラー]の方法で注釈 "@apiName" AppBundle \コントローラ\ APIの\のApiLoginController :: LoginActionの()決して がインポートされませんでした。この アノテーションに「使用」ステートメントを追加するのを忘れていましたか?

500内部サーバーエラー - AnnotationException

は、これらの注釈を無視するようにsymfonyを指示する方法はありますか?前もって感謝します。

+0

[NelmioApiDocBundle](http://symfony.com/doc/current/bundles/NelmioApiDocBundle/index.html)を代わりに使用しましたか?私は、ApidocがSymfonyで動作するかどうかはわかりません。 –

+0

はい、私はそのバンドルを知っています。他のオプションがない場合は使用しますが、すでにapidocの経験があります。結果が好きで、今すぐ別のバンドルを処理する方法を学ぶ時間があまりありません。 – DandyCC

答えて

3

@IgnoreAnnotation Doctrine annotationがあります。これを試してください:

/** 
* @IgnoreAnnotation("api") 
* @IgnoreAnnotation("apiName") 
* @IgnoreAnnotation("apiGroup") 
* @IgnoreAnnotation("apiParam") 
* @IgnoreAnnotation("apiSuccess") 
*/ 
class SomeController extends Controller{ 
... 
    /** 
    * @api {get} /user/:id Request User information 
    * @apiName GetUser 
    * @apiGroup User 
    * 
    * @apiParam {Number} id Users unique ID. 
    * 
    * @apiSuccess {String} firstname Firstname of the User. 
    * @apiSuccess {String} lastname Lastname of the User. 
    */ 

ドキュメントは、そのリンクのさらに下にあります。

+0

元の投稿を修正する必要がありました。コントローラまたはクラスの先頭に '@ IgnoreAnnotation'を置くべきです。 –

+0

これは私が探していたものです。ありがとう! – DandyCC

関連する問題