NSwag создает JSON со случайными именами классов.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 NSwag создает JSON со случайными именами классов.

Сообщение Anonymous »


Этот код работает — вроде как. Это создаст что-то, что работает. Но он использует имена классов, например: Body1, Body2, Body3 и Ответ1, Ответ2, Ответ3, Ответ4

Возможно, мне просто не хватает простого варианта, но я просто не могу понять, какой именно.

Это прекрасно работает, если я использую графический интерфейс. Но графический интерфейс не учитывает имена JSON и будет настаивать на переименовании их в UpperCamelCase
var document = NSwag.OpenApiDocument.FromUrlAsync(url).Result; настройки var = новый NSwag.CodeGeneration.CSharp.CSharpClientGeneratorSettings { ГенератеКлиентКлассес = правда, ГенератеКлиентИнтерфейс = правда, Инжектхттпклиент = правда, DisposeHttpClient = правда, GenerateExceptionClasses = true, ExceptionClass = "EdiException", WrapDtoExceptions = правда, UseHttpClientCreationMethod = ложь, HttpClientType = "System.Net.Http.HttpClient", UseHttpRequestMessageCreationMethod = false, UseBaseUrl = правда, GenerateBaseUrlProperty = правда, Генератесинкметодс = ложь, GeneratePrepareRequestAndProcessResponseAsAsyncMethods = false, ExposeJsonSerializerSettings = true, ClientClassAccessModifier = "публичный", ИмяКласса = "Служба Отмены", CSharpGeneratorSettings = { TypeAccessModifier = "публичный", Пространство имен = "Edlund.NonLifeCore.Shared.DK.CancellationService", PropertyNameGenerator = UseNameGenerator, ГенератеДанныеАннотации = правда, ГенерироватьJsonMethods = правда, GenerateDefaultValues ​​= true, ClassStyle = NJsonSchema.CodeGeneration.CSharp.CSharpClassStyle.Poco, JsonLibrary = NJsonSchema.CodeGeneration.CSharp.CSharpJsonLibrary.NewtonsoftJson, } }; вар преобразователь = новый NJsonSchema.CodeGeneration.CSharp.CSharpTypeResolver(settings.CSharpGeneratorSettings); генератор вар = новый NSwag.CodeGeneration.CSharp.CSharpClientGenerator (документ, настройки, преобразователь); вар клиент = генератор.GenerateFile(); File.WriteAllLines(OutputPath + ".cs", new List {client }); } } Открытый класс CustomRespectSwaggerPropertyNameGenerator: IPropertyNameGenerator { /// Генерирует имя свойства. /// Свойство. /// Новое имя. строка IPropertyNameGenerator.Generate (свойство JsonSchemaProperty) { вернуть свойство.Name.Replace('_', '-') .Заменять("@", "") .Заменять(".", "-"); } }
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»