Как глобально обеспечить соблюдение змеиного регистра в нижнем регистре при всей сериализации в JSON, а также привязке мC#

Место общения программистов C#
Ответить
Anonymous
 Как глобально обеспечить соблюдение змеиного регистра в нижнем регистре при всей сериализации в JSON, а также привязке м

Сообщение Anonymous »

У меня есть несколько моделей, для которых я в конечном итоге пишу атрибут 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
Ответить

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

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

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

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

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