Отключите CamelCase для имен свойств на объектах c # - PullRequest
0 голосов
/ 08 февраля 2019

Это класс DTO C #:

public class WeatherForecast
        {
            public string DateFormatted { get; set; }
        }

Это то, что генерируется в определении чванства:

{"WeatherForecast":{"type":"object","properties":{"dateFormatted":{"type":"string"}}}}

Проблема заключается в том, что при создании примера XML:

<?xml version="1.0" encoding="UTF-8"?>
<WeatherForecast>
    <dateFormatted>string</dateFormatted>
</WeatherForecast>

Проблема в том, что когда я отправляю этот XML обратно в API, он не заполняет свойство DateFormatted.Если я изменю регистр так, чтобы он больше не был CamelCase (DateFormatted), он работал правильно, а свойство заполнялось «строкой».

Как отключить CamelCase при генерации определения чванства?

1 Ответ

0 голосов
/ 26 июня 2019

В aspnet имя свойства верблюда по умолчанию, поэтому вы меняете Startup с

services.AddMvc();

на

services
        .AddMvc()
        .AddJsonOptions(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver());

Ссылка: aspnet

...