ContentNegotiator::className(), 'formats' => [ 'application/json' => Response::FORMAT_JSON, ], ], 'authenticator' => [ 'class' => CompositeAuth::class, 'authMethods' => [ HttpBearerAuth::class, ], ] ]; return array_merge($parent, $b); } public function verbs(): array { return [ 'skills-on-main-page' => ['get'], 'get-skills-list' => ['get'], ]; } public function actionIndex() { return ['some' => 'rrr']; } /** * * @OA\Get(path="/skills/skills-on-main-page", * summary="Получить список навыков для отображения на главной", * description="Получить список навыков на главной странице", * tags={"Skills"}, * security={ * {"bearerAuth": {}} * }, * @OA\Response( * response=200, * description="Возвращает массив навыков", * @OA\MediaType( * mediaType="application/json", * ), * * ), * ) * * @return array|mixed */ public function actionSkillsOnMainPage() { $data = \common\models\Options::getValue('skills_on_main_page_to_front'); if ($data) $data = json_decode($data, true); else return []; return $data; } /** * * @OA\Get(path="/skills/get-skills-list", * summary="Получить список навыков", * description="Получить список навыков", * tags={"Skills"}, * security={ * {"bearerAuth": {}} * }, * @OA\Response( * response=200, * description="Возвращает массив навыков", * @OA\MediaType( * mediaType="application/json", * @OA\Schema(ref="#/components/schemas/SkillsExample"), * ), * * ), * ) * * @return array|\yii\db\ActiveRecord[] */ public function actionGetSkillsList(): array { return Skill::find()->all(); } }