В настоящее время я пытаюсь использовать JsonFormatters
для сериализации строки в ISO 8601
спецификации.формат в моей конфигурации запуска, но не смог заставить его работать.
Моя конфигурация запуска выглядит следующим образом:
services.AddMvcCore(
(options) => {
options.SslPort = 44321;
options.Filters.Add(new RequireHttpsAttribute());
}
)
.AddJsonFormatters(jsonSerializerSettings => {
jsonSerializerSettings.DateParseHandling = DateParseHandling.None;
jsonSerializerSettings.DateFormatString = "yyyy-MM-ddTHH:mm:ss.fffZ";
})
.AddApiExplorer()
.AddJsonOptions(options => {
options.AllowInputFormatterExceptionMessages = false;
options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
})
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
.AddDataAnnotationsLocalization();
Я также попытался ServiceStackText , который упоминается в документация , но это тоже не сработало.
NodaSerializerDefinitions.LocalTimeSerializer.ConfigureSerializer();
DateTimeZoneProviders.Tzdb
.CreateDefaultSerializersForNodaTime()
.ConfigureSerializersForNodaTime();
Я продолжаю получать следующий формат,
, т. е. для сериализации LocalDate
:
{
"patientDob": "Thursday, June 15, 2017",
}
Как настроить строку ISO 8601
спец.форматирование для NodaTime
типов даты в глобальном масштабе?
моя модель,
{
public LocalDate patientDob { get; set; }
}
и ресурс моей модели / API вида:
{
public string patientDob { get; set; }
}