У меня есть несколько моделей, для которых я в конечном итоге пишу атрибут JsonPropertyName, но это очень раздражает, поэтому я хотел инициализировать его глобально в program.cs. Я добавил это, думая, что конверсии будут автоматически обрабатываться:
Код: Выделить всё
builder.Services.AddControllers()
.AddJsonOptions(options =>
{
// Global settings: use the defaults, but serialize enums as strings
// (because it really should be the default)
options.JsonSerializerOptions.Converters.Add(
new JsonStringEnumConverter(JsonNamingPolicy.SnakeCaseLower, false));
});
Однако в моих моделях я удалю атрибуты, как показано здесь:
Код: Выделить всё
[JsonPropertyName("state_id")]
public required int StateId {get; set;}
[JsonPropertyName("entity_name")]
public required string EntityName {get; set;}
и отказаться от JsonPropertyName, который я предполагал при сериализации моей модели с помощью Ok() во внешний интерфейс, имена будут автоматически подстраиваться под те, какими когда-то были имена моих свойств (строчная змея). Однако они все еще находятся в CamelCase, и я не знаю почему. Нужно ли мне сделать что-то еще?
Подробнее здесь:
https://stackoverflow.com/questions/783 ... on-and-als