Можно ли использовать swagger codegen для создания клиента для .Net4.0?

Я новичок в С# и Swagger, и мне было интересно, можно ли использовать swagger codegen для создания клиента для .Net4.0? После просмотра класса CSharpClientCodegen мне удалось заставить swagger codegen сгенерировать клиент для .Net3.5, но build.bat не работает с src\IO.Swagger\Model\User.cs(53,193): error CS0241: default parameter specifiers are not permitted. Теперь я застрял и не знаю, что еще я мог бы попробовать.

Для моего проекта мне нужно использовать .Net4.0, и поэтому мне нужно создать клиент .Net4.0. Есть ли способ создать такой клиент?

Привет, Стефи


person Stoffelchen    schedule 27.09.2017    source источник


Ответы (3)


В настоящее время генератор клиента Swagger Codegen C# поддерживает следующую структуру:

targetFramework
    The target .NET framework version. (Default: v4.5)
        v3.5 - .NET Framework 3.5 compatible
        v4.5 - .NET Framework 4.5+ compatible
        v5.0 - .NET Standard 1.3 compatible
        uwp - Universal Windows Platform (IMPORTANT: this will be decommissioned and replaced by v5.0)

(Ссылка: java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar config-help -l csharp)

Если вы ищете конкретный фреймворк или версию .net, которая в данный момент еще не поддерживается, отправьте заявку через https://github.com/swagger-api/swagger-codegen/issues/new, и мы рассмотрим это.

ОБНОВЛЕНИЕ: в мае 2018 года около 50 ведущих участников и создателей шаблонов Swagger Codegen решили разветвить Swagger Codegen, чтобы поддерживать управляемую сообществом версию под названием Генератор OpenAPI. Дополнительные сведения см. в разделе Q&A.

person William Cheng    schedule 29.09.2017
comment
Спасибо за ваш комментарий. Я открыл тикет на Github. Для всех, кто может столкнуться с этим: github.com/swagger-api/swagger -codegen/issues/6596 - person Stoffelchen; 29.09.2017

Взгляните на NSwag, он сгенерирует для вас клиентский код CSharp и Typescript.

person KiwiPiet    schedule 27.09.2017
comment
Спасибо за вашу рекомендацию. Я уже посмотрел на NSwag, но постараюсь, чтобы список дополнительных инструментов/библиотек был как можно меньше. С моей точки зрения, должно быть возможно создать клиент .Net4.0 с swagger-codegen.jar. Или есть определенная причина, по которой следует использовать NSwag (помимо ситуации, когда у вас есть ASP.Net Api для создания клиента)? :-) - person Stoffelchen; 27.09.2017
comment
Только что попробовал это с NSwag, но не смог найти способ указать, что клиент должен быть собран для .Net4.0 :-( Любой намек на это? - person Stoffelchen; 27.09.2017
comment
@Stoffelchen Вы должны поиграть с github.com/RSuter/NSwag/wiki/NSwagStudio чтобы получить нужный конфиг. NSwag поддерживает до .NET Core 2, поэтому я не уверен, что еще вы имеете в виду. - person Kody; 26.01.2018

Обновление этого ответа, потому что, хотя ответ Уильяма Ченга был правильным, вывод из swagger-codegen-cli теперь устарел, и теперь поддерживается версия 4.0.

java -jar swagger-codegen-cli.jar config-help -l csharp

Теперь будет выводить следующее (начиная с версии 3.0.22)

targetFramework
    The target .NET framework version. (Default: v4.5)
        v3.5 - .NET Framework 3.5 compatible
        v4.0 - .NET Framework 4.0 compatible
        v4.5 - .NET Framework 4.5+ compatible
        v5.0 - .NET Standard 1.3 compatible
        uwp - Universal Windows Platform (IMPORTANT: this will be decommissioned and replaced by v5.0)
person Daniel Maclean    schedule 13.11.2020