Какую сборку для отдельного приложения с api?

Всё что касается построения API
Ответить
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Какую сборку для отдельного приложения с api?

Сообщение maleks »

Приветствую.
Хотелось бы проекту добавить api, с такими возможностями, как версии, вопрос какую вы сборку для этого используете для примера?
Шаблон advanced, api отдельным приложением.
Вот нашел такую , но как то древновато она задумывалась, чтобы не было различий с современностью.
То что все оно под следующим пространством имен - api - нормально?
В доках и других примерах, постоянно смотрю что под app.
В общем, если кто недавно делал, и прошел уже этот этап начальной настройки, то плиз поделитесь рецептами.

И если rest этот будет вокруг каких моих данных из остального проекта, то лучше мне в api приложении свои модели создать, отнаследованные от AR, и в них уже помещать все что реста касается?

И по тому как добавлять новое приложение в уже существующий проект (и локально и в prodaction)
Допустим вот то что в ссылке выше в папке api я скопирую себе, в enviroments тоже скопирую.
Как запустить это на робочем проекте, чтобы локальные файлы скопировались в папку с проектом? И что оно еще там делает...
Не выполнять же yii init?
Читал рецепт что в этом случае их вручную надо из envirinments копировать.
Yii2 universal module sceleton - for basic and advanced templates
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Какую сборку для отдельного приложения с api?

Сообщение samdark »

Я делал модулем и делал отдельным приложением в advanced. И так и так норм выходило.
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Какую сборку для отдельного приложения с api?

Сообщение SiZE »

Можно вынести api в отдельное приложение и там подключать модули. Что то типа такого

config/main.php

Код: Выделить всё

return [
    'id' => 'api',
    // другие настройки
    'modules' => [
        'v1.0.2' => \api\versions\v1\ApiModule::class
    ],
    'components' =>
        'urlManager' => [
            'enablePrettyUrl' => true,
            'enableStrictParsing' => true,
            'showScriptName' => false,
            'rules' => [
               // базовые url для модуля
                '<_m>/<_c>/<_a>' => '<_m>/<_c>/<_a>',
                '<_m>/<_c>' => '<_m>/<_c>',
                '<_m>' => '<_m>',
            ],
        ], 
        // остальные компоненты
    ],
Ответить