Swagger-php на Yii2 ActiveController

В моем приложении yii2 запущен API REST. Я расширяю свою модель API от моей модели AR и использую fields() функция для определения полей ответа API.

/**
 * @SWG\Definition(
 *   type="object"
 * )
 */    
class Person extends \common\models\Person implements Linkable {

    public function fields() {
        return ['id',
                'name',
                'first-name' => 'first_name'
        ];
    }    

    public function getLinks() {
        return [
                Link::REL_SELF  => Url::to(['person/view', 'id' => $this->id], true),
        ];
    }

Мой activecontroller- самая простая реализация

use yii\rest\ActiveController;

/**
 * @SWG\Info(title="My First API", version="0.1")
 */
class PersonController extends ActiveController {

    public $modelClass = 'api\modules\v1\models\Person';

}

Пока все работает. Затем я хотел добавить Swagger-php для документирования своего API: я использую https://packagist.org/packages/light/yii2-swagger. Конфигурация работает, и у меня есть сваггер-пользовательская страница / JSON.

Следующий шаг - начать добавлять документацию... Но во всех примерах Swagger-php или на https://github.com/lichunqiang/yii2-swagger-demo аннотации находятся на полях модели и методах контроллера. Проблема в том, что они не указаны явно в коде из-за ActiveRecord и fields() функция.

Есть ли способ совместить swagger-php и ActiveController?

0 ответов

Другие вопросы по тегам