我正在使用Symfony 3开发API,我想使用apidoc来创建文档。 Apidoc使用注释:
/**
* @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 \ Controller \ API \ ApiLoginController :: loginAction()从来没有 进口。您是否忘记为此添加“使用”声明? 注释
500内部服务器错误 - AnnotationException
有没有办法告诉symfony忽略这些注释?提前谢谢。
答案 0 :(得分:8)
还有一种方法可以ignore an annotation globally。我们不想为每个类添加注释,因此我们将其添加到引导文件web/app.php
中。
Doctrine\Common\Annotations\AnnotationReader::addGlobalIgnoredName('your-custom-annotation');
答案 1 :(得分:7)
你可以使用@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.
*/
该文档位于该链接的下方。