Swagger UI показывает параметры camelCase вместо PascalCase - PullRequest
1 голос
/ 24 апреля 2020

Я использую NewtonSoft. json в Asp. Net Core 3.1 API с Swashbuckle.AspNetCore версии 5.3.3.

По умолчанию в Asp. Net Web API, 2 регистр параметров ввода и вывода был PascalCase.

Теперь я перехожу на. Net Базовый API, в котором регистр по умолчанию - camelCase.

Поэтому я изменил его на использование PascalCase, добавив приведенный ниже код в Startup.cs:

services.AddControllers()
            .ConfigureApiBehaviorOptions(options =>
            {
                options.SuppressModelStateInvalidFilter = true;
            })
            .AddNewtonsoftJson(options =>
            {
                // Use the default property (Pascal) casing
                options.SerializerSettings.ContractResolver = new DefaultContractResolver();
            });//Configure Newtonsoft as JSON serializer.

Но в интерфейсе Swagger он показывает входные и выходные параметры в camelCase, а ответ API содержит значения в PascalCase.

Я гуглил, но нашел метод в AddSwaggerGen DescribeAllParametersInCamelCase (), который превращает все параметры в camelCase.

Есть ли метод DescribeAllParametersInPascalCase ()?

Как настроить Swagger / Swashbuckle для отображения параметров ввода / вывода в Pasc ?

Вот пример:

enter image description here

1 Ответ

3 голосов
/ 25 апреля 2020

Попробуйте добавить эту строку после .AddNewtonsoftJson(...):

.AddJsonOptions(opt => opt.JsonSerializerOptions.PropertyNamingPolicy = null).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...