swagger client generator для C#
От: vaa  
Дата: 04.03.22 03:15
Оценка:
Мучаюсь с сервисом https://restapi.moedelo.org/docs
в схеме стоит "swagger":"2.0"
методов много какие понадобятся непонятно.
Нашел несколько инструментов, но все какие-то странные.

Например Nswag Studio уже давно вроде идет разработка.

Но генерит как-то странно, выбираю System.Text.Json, но на выходе NewtoneSoft.Json.
и не понимает когда надо стрим получить (void методы).
ну это скорее всего решается наследованием и допиливанием.
дублируются перечисления. отсутствуют базовые классы типа ApiException.
Такое даже после доводки до состояния сборки страшно использовать, вдруг придется перегерировать.
А там одна схема больше мегабайта. Студии реально плохо становится от портянки в 5М+.

swagger-codegen-cli-3.0.33.jar

это честно что-то генерит но в процессе падает с ошибкой nio
(путь к файлу не нравится, толи имя длинное получается то ли что, вероятно из-за генериков).

openapi-generator-cli-5.4.0.jar

это не проходит валидацию, если ее отключить тоже падает с похожей ошибкой.
Что самое обидное, для java или typescript генерится в легкую.


Полноценно справился только https://fsprojects.github.io/SwaggerProvider/

Причем необновляемый уже SwaggerClientProvider
а рекомендуемый и более новый OpenApiClientProvider также валится на валидации.

Проблема только в том что он работает только в F#.
Подключил к C#, но тот видит только словари вместо типов.
Т.е. по сути возврат к исходной точке.

У кого есть опыт борьбы с подобными монстрами, может гайд хороший?


PS Написал разрабам сего чуда(т.к. по сигнатурам видно что сервис на C#),
но там случилась прослойка в виде ТП.
Передали просьбу поделится C#-клиентом. Жду.
☭ ✊ В мире нет ничего, кроме движущейся материи.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.