first-programmer
@first-programmer
Backend software engineer

Где можно посмотреть все типпы аннотаций для swagger php?

Всем привет коллеги)

Подскажите, кто пользовался сваггером, где можно найти документацию по всем аннотациям? Возможно я просто не могу найти на их официальном сайте, но я там много разделов с документацией перерыл и везде только просто говорится о том, как руками или через эдитор составить json, а как его на основе аннотаций составить? Там описывается кодогенератор, но опять же я и так знаю, как его использовать, а вот список всех доступных аннотаций найти не получилось пока.

Если что я себе установил расширение zircote/swagger-php для работы со свагером в php yii2 фреймворке. Там есть примеры с аннотациям, но не все описывается. Например как нормально формировать поля response без ссылки #ref на schema, а описывая их полностью в самом методе?

В общем есть ли какая-то документация со всеми аннотациями? Они ведь не зависят от используемого языка и расширения? Или зависят?
  • Вопрос задан
  • 1650 просмотров
Решения вопроса 1
first-programmer
@first-programmer Автор вопроса
Backend software engineer
В общем ответа как такового нет, нужно искать примеры аннотаций на форумах, в разных расширениях для фреймворков, ну и методом тыка изучать. Если лень так делать, лучше сразу начинайте писать документацию по openApi спецификации в swagger editor, а потом этот файл кладите в swagger ui и пользуйтесь. Потому что для openApi хотя бы документации много есть.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
delphinpro
@delphinpro Куратор тега PHP
frontend developer
Swagger использует спецификацию OpenAPI (2 или 3 версии)
Есть на русском https://starkovden.github.io/step5-components-obje...
Ответ написан
@dimuska139
Backend developer
Прямо списка доступных аннотаций я тоже не нашёл, но там есть вообще папка с примерами, где есть многие вещи.

По поводу генерации: вам нужно сделать эндпоинт, в котором будет выполняться следующий код:
$openapi = \OpenApi\Generator::scan(['/path/to/project']);
header('Content-Type: application/x-yaml');
echo $openapi->toYaml();

При обращении к этому эндпоинту библиотека просканирует ваш проект, ища в нём аннотации и сформирует yaml. Если что-то не так - увидите ошибку.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы