Как сделать так, чтобы в Json отображалась дата в типе "yyyy/MM/dd"?
Написал следующий класс
public class OnlyDateConverter : IsoDateTimeConverter
{
public OnlyDateConverter()
{
DateTimeFormat = "yyyy/MM/dd";
}
}
Дальше в Request отметил свойство следующим образом
public class CreateContactPersonRequest : IRequest<CreateContactPersonResponse>
{
public string Name { get; set; }
public string Surname { get; set; }
public string Patronymic { get; set; }
public string Post { get; set; }
public Gender Gender { get; set; }
[JsonConverter(typeof(OnlyDateConverter))]
public DateTime BirthDate { get; set; }
public string ContactValue { get; set; }
public string ContactComment { get; set; }
public ContactType ContactType { get; set; }
}
При добавлении контроллеров написал следующий код
public static class ControllersExtensions
{
public static IServiceCollection ConfigureControllers(this IServiceCollection services)
{
services.AddControllers()
.AddNewtonsoftJson(options =>
{
options.SerializerSettings.Converters.Add(new OnlyDateConverter());
options.SerializerSettings.Converters.Add(
new StringEnumConverter(
new DefaultNamingStrategy(),
allowIntegerValues: false));
})
.PartManager.ApplicationParts.Add(new AssemblyPart(typeof(ApplicationAssemblyMarker).Assembly));
return services;
}
}
В swagger дата отображается следующим образом:
{
"name": "string",
"surname": "string",
"patronymic": "string",
"post": "string",
"gender": 1,
"birthDate": "2021-10-16T16:16:43.208Z",
"contactValue": "string",
"contactComment": "string",
"contactType": 1
}
Когда пытаюсь отправить запрос получаю исключение
