Комментарии 14
Добавить графический интерфейс.
Вот если бы интерактивный вариант типа k9s)
А что мешает для тестирования того или иного эндпоинта нажать в Сваггере "Try out" ?
Выглядит как инструмент для тех, кто просто угорает мануальным набором в консольке, мб я не правильно смотрю? В чем плюс то?
swagger ui не очень удобен:
тебе нужно либо развернуть swagger ui, либо же скопировать содержимое в существующий ui
далее тебе нужно найти нужный endpoint среди кучи других
кликать на кнопку
заполнить поля
кликать на кнопку еще раз
а с CLI, ты выполняешь гораздо меньше шагов + все это работает быстро и удобно
Для оптимального поиска нужных эндпоинтов есть тэги и нет проблем раскидать по разным контроллерам их.
А каждый раз писать консольную команду это быстрее и оптимальнее клика на UI, так?
мне лично удобнее пользоваться cli, т.к. он у меня всегда под рукой, нежели открытая страница swagger ui)
если большой swagger, то swagger-ui подвисает
В целом дело вкуса) кому-то docker desktop подавай, а кому-то удобнее docker cli, я лично пользуюсь вторым, но также видел, как многие пользуются desktop UI для запуска контейнеров и тд
А что мешает для тестирования того или иного эндпоинта нажать в Сваггере "Try out" ?
У меня есть несколько API, доступ к которым разрешен только через VPN, причем, запущенный только с IP-адреса из whitelist. В whitelist добавлены толко адреса продакшен серверов.
Соответственно, если что-то не работает и надо проверить этот АПИ, то приходится прокидывать туннели. Если это можно сделать прямо на сервере из консоли - то, возможно, это будет удобнее.
Хороший use case, если есть предложения как было бы удобнее это сделать, напишите.
Моя идея - это сделать команду:
swama request send --method=POST --endpoint=/user
а далее интерактивно дать возможность вводить параметры.
+ можно сделать параметр, чтобы json-ом передавать параметры
Вообще говоря, когда я увидел интерфейс в табличках - сразу подумал что оно интерактивное. Но из статьи понял что нет.
Идея на будущее - сделать интерфейс, например, на ncurses, readline или что там у вас на Го есть для этого.
Опять же, типичный use case: сначала мы авторизуемся с user/password, получаем access_token, а потом его используем на протяжение всей сессии. Причем, он может протухнуть же.
Руками указывать в командной строке килобайтный JWT совсем не удобно. Возможно, стоит предусмотреть какой-нибудь локальный кэш (зашифрованный).
Тоже думал над таким вариантом.
+ есть еще вариант сделать профили, которые будут храниться ~/.swama/profiles
через cli или интерактивно заполняешь профиль(токен, параметры и т.д.), а потом в cli указываешь -p {myProfile}, тогда он берет данные из профиля, тоже кажется удобный вариант, чтобы не заполнять параметры каждый раз
Swama: CLI-инструмент для работы с Swagger/OpenAPI