TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
.NET sh blog

20 Jun, 23:05

Открыть в Telegram Поделиться Пожаловаться

Как-то я писал про то, что хочется в API эндпойнтах видеть все коды ошибок которые она может вернуть и вот наконец-то дошли руки сделать анализатор который автоматически будет все это собирать на этапе компиляции, потому что руками поддерживать это нереально, так как если где-то в глубине добавили новый код ошибки или вызов другого метода, то всё становится неактуальным.

Работает оно следующим образом: incremental source generator бегает по методам, ищет в теле метода выбросы исключений или возврат кодов ошибок в виде result pattern, потом смотрит на все вызовы методов внутри него и пробегается и по ним и собирает коды ошибок по каждому методу.

К слову, анализатором можно покрыть большинство сценариев, но далеко не все. подробнее читайте в readme библиотеки.

В итоге генерируется мапа, где key = FullyQualified method name (или OperationId/Route для minimal api), а value = массив найденных кодов ошибок.

Эту мапу уже можно использовать по-разному. Например, отображать в сваггере или написать ассерты в тестах, также можно детектировать изменение кодов ошибок ответа API, ведь это по сути breaking change для потребителя.

В примере проекта я добавил отображение в сваггере, с ссылкой на документацию по коду ошибки (если он есть). 'https://t.me/sh_dotnet/138?comment=559' rel='nofollow'>См скриншот в комментариях.

253 0 9 1 16
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot