Обход аннотации Symfony2

В настоящее время я создаю RESTful API, используя Symfony2.

Чтобы создать простую и понятную документацию, я хочу использовать apidoc.js (я действительно предпочел бы использовать этот , но если у вас есть что-то еще для автоматического создания документации API, не стесняйтесь поделиться).

Этот генератор использует аннотации, которые анализируются ядром Symfony (видимо, насколько я понимаю)

Вот мой код для контроллера

/**
 * @api {get} /contact/list Request Contacts List
 * @apiName List Contacts
 * @apiGroup Contacts
 *
 * @apiSuccess {Integer} Status
 * @apiSuccess {String} Custom Message to be displayed
 */
public function clientListAction(){}

К сожалению, Symfony анализирует это и выдает ошибку:

[Semantical Error] The annotation "@apiName" in method AppBundle\Controller\ClientApiController::clientListAction() was never imported.

Может быть, у вас есть решение либо запретить Symfony анализировать аннотации (я всегда использую YAML, поэтому аннотации Symfony на самом деле для меня бесполезны), либо просто импортировать их?

Я новичок в этом, и я все еще пытаюсь создать надежное и чистое приложение Symfony.


person Paul Gabriel    schedule 20.12.2015    source источник


Ответы (2)


Используйте @ignoreAnnotation.

При использовании другой библиотеки или программы (например, Doxygen), использующей аннотации, вы должны поместить аннотацию @IgnoreAnnotation в класс, чтобы указать, какие аннотации Symfony должен игнорировать.

person Aerendir    schedule 20.12.2015
comment
Большое спасибо, это было именно то, что я искал! - person Paul Gabriel; 20.12.2015
comment
Есть ли способ игнорировать аннотации во всем приложении? - person Saeed Falsafin; 18.09.2018

Взгляните на набор Nelmio Api Doc Bundle. Это позволяет генерировать документацию аналогичным образом (по аннотациям).

person Serge Kvashnin    schedule 20.12.2015