Ilya
Ну так я про сваггер для жирафа, а не фейбла.
Ilya
Правда в жирафе тоже где-то что-то было, но в другой репе.
Ayrat
Я сейчас собираюсь заняться свагером для жирафа
Ayrat
По работе
Ayrat
Так что велики шансы что сделаю
Ayrat
Ну неееет
нууу пачииимууу
Ayrat
Есть короче такая хуйня, она даже с жирафом должна взлететь https://github.com/Microsoft/OpenAPI.NET.CSharpAnnotations
Ayrat
ебашим хмл коменты над своими хендлерами /// <summary> /// Sample Get 1 /// </summary> /// <group>Sample V1</group> /// <verb>GET</verb> /// <url>http://localhost:9000/V1/samples/{id}?queryBool={queryBool}</url> /// <param name="sampleHeaderParam1" cref="float" in="header">Header param 1</param> /// <param name="id" cref="string" in="path">The object id</param> /// <param name="queryBool" required="true" cref="bool" in="query">Sample query boolean</param> /// <response code="200"><see cref="SampleObject1"/>Sample object retrieved</response> /// <returns>The sample object 1</returns>
Ayrat
и далее либа их собирает из сборки и генерит вам сваггер
Ayrat
Но это не наш метод
Ayrat
потому что тут дублирование инфы
Ayrat
Короче, на этой неделе попробую склетон собрать
Romɑn
Короче, на этой неделе попробую склетон собрать
Если выложишь куда-то в приемлемое место, то я бы даже да
Romɑn
Всмысле с кодом бы помог
Romɑn
Насколько в моих силушках
Ayrat
Если выложишь куда-то в приемлемое место, то я бы даже да
Конечно выложу. Я просто идею в начале опробую
Ayrat
Идея ахонь
Shub
потому что тут дублирование инфы
тебе необязательно все описывать в док-строках. в док-строки можно положить человекочитаемые данные, остальное оно рефлексией по параметрам определить
Ilya
И хоть бы он полный путь писал, где их хочет найти. Нет, просто "Resource /openfolder/0009_response.json not found". Буду во всём винить скалу.
Хм, стоило сразу проверить, а не ищет ли он эти файлы прям в папке, где .bat для запуска лежит...
Ayrat
Поэтому там придется все писать
Ayrat
мб свой форк жирафа запилить?
Была идея в каждом httphandler носить метинфу для опенапи, но это бред по-моему
Ayrat
Как их композить?..
Ayrat
мб свой форк жирафа запилить?
А что ты в форке хочешь переделать?
Vladimir
сделать чтобы удобно было свагер впилить) у меня уже на razor свой форк есть
Ayrat
Я вижу такой способ. Ты пишешь и поддерживаешь опен апи спеку сам, полностью. На билде из этой спеки генериться скелет жираф кода, обмазанный интерфейсами, которые ты должен будешь имплементировать в своём коде и связать через DI
Ayrat
И как бы все. Парсер опен апи я нашёл. Кодген фшарпа в Фантомасе. Нужно реализовать промежуточную задачу построения АСТ фшарпа по опен апи. И вторая задача - мсбилд таска на код ген (спиздить из myriad)
Vladimir
а не думал про intpreter? в теории типа написать программу которая будет интерпретироваться отдельно asp.net -ом, а отдельно движком который сгенерит сваггер. Может конечно я бред говорю)
Ayrat
Да зачем? Сваггер надо в компайл тайме создавать
Shub
swashbuckle может генерить спеку даже из одного xml doc
Ayrat
почему это? xml doc генерится же?
Хмл док ты сам пишешь в случае выше
Ayrat
Свашбакля по атрибутам и рефлексии делает
Ayrat
В жирафе это нерешаемо
Shub
в жирафе не может, что ли?
Ayrat
Как???
Ayrat
Ты там атрибуты ставишь?
Shub
откуда я знаю? это вы там смотрители зоопарков, вы с жирафами и разбирайтесь
Ayrat
Или у тебя хендлеры раскиданы по классам с общим передком ApiController?
Vladimir
Да зачем? Сваггер надо в компайл тайме создавать
не обязательно, возьми wsdl, там схема на лету отдается
Ayrat
откуда я знаю? это вы там смотрители зоопарков, вы с жирафами и разбирайтесь
Жираф слишком низкоуровневый и там можно творить много дичи в общем случае. Чтобы строить сваггер нужна структура и конвенции которые есть в MVC подходе
Ayrat
не обязательно, возьми wsdl, там схема на лету отдается
Я пока хочу сгенерить разок в компайл тайме
Vladimir
мб динамически даже проще будет) через рефлексию даже насобирать все
Ayrat
Точнее спека вообще будет пользователем генериться, а вот жираф сгенерить
Shub
Или у тебя хендлеры раскиданы по классам с общим передком ApiController?
щас да. слой апишечек у нас дико на сишарп похож
Диёр
Там всё сразу будет
Ayrat
Choose [ FuckYouHandler GET >=> wtfHandler >=> route "..." ] Где wtfHandler вызывает сам себя
Ayrat
И раут определен в недрах FuckYouHandler, с условием
Ayrat
И ебись с рефлексией)
Vladimir
Ты серьезно?)
ну я так, накидываю идей) да, похоже нн выйдет
Диёр
Но... Ведь... Графкуль...
Ayrat
Я уверен моя идея рабочая. Все есть, осталось закодить
Vasiliy
https://dtf.ru/life/116388-uchitel-iz-san-diego-provel-urok-po-geometrii-v-half-life-alyx
Vasiliy
Vasiliy
коменты топчик. Сорри, что ворвался внезапно)
Анна
Фрагмент
Vasiliy
ахахахаха, а ты в теме)
Анна
Ну про лего жиза ведь
Vasiliy
угу. На работе все время кто то из коллег рассказывает какой классный набор лего он купил ребенку
Vasiliy
И потом они вместе собирали :D
Hog
так хочу майндшторм но 600 за полный комплект жаба душит
Vasiliy
найди детей?
Hog
уж внуки если только 😂😂😂
Vasiliy
ЕЩЕ ЛУЧШЕ
Vasiliy
правда, придется ждать когда внуки вырастут из Лего Дупло
Анна
так хочу майндшторм но 600 за полный комплект жаба душит
У меня когда-то был муж, а у мужа майндстормс 2 вроде, и technic - огромный джип на пульте
Анна
правда, придется ждать когда внуки вырастут из Лего Дупло
А про проблему с дупло мне тренер рассказывал: его сыну три будет
Hog
поэтому - был? а не есть
Анна
поэтому - был? а не есть
Не поэтому. Но оба лего остались у него. А у меня целый склад настолок почему-то
Hog
сейчас такое время блин не до конструкторов
Анна
Товарищ с работы купил себе Сокол тысячелетия за 800 что ли баксов
Vasiliy
Товарищ с работы купил себе Сокол тысячелетия за 800 что ли баксов
Ага. Только у меня друг ккупил его себе. Собирал на новый год. Это МАХИНА