Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

903
Visualizações
Conversión DateOnly Json en .net6 api

tl; dr: ¿Cómo puedo agregar DateOnly JsonConverter a la configuración de la aplicación de una API web .net6?

Tengo un objeto con propiedades DateOnly y lo devuelvo desde el controlador. Cuando realizo mi solicitud, aparece el error "No se admite la serialización y deserialización de instancias 'System.DateOnly'".

Entiendo que existen limitaciones con la deserialización de DateOnly y TimeOnly en .net6 ( https://github.com/dotnet/runtime/issues/53539 ) y seguí el uso recomendado de un JsonConverter personalizado. Sin embargo, el problema que tengo es dónde inicializo el convertidor.

Intenté agregar el convertidor en el generador de aplicaciones web....

 builder.Services .AddControllers() .AddJsonOptions(options => options.JsonSerializerOptions.Converters.Add(new DateOnlyConverter()));

pero sin suerte.

Luego intenté configurarlo específicamente

 builder.Services.Configure<JsonSerializerOptions>(options => options.Converters.Add(new DateOnlyConverter()));

allí tampoco hubo suerte.

Así que intenté devolver Results.Json desde el controlador con el convertidor en las opciones Results.Json(status, options) . Incluso eso no funcionó.

Sin embargo, lo que funcionó fue agregar un atributo directamente a la propiedad

 [property: JsonConverter(typeof(DateOnlyConverter))] DateOnly DateOrdered,

Preferiría no tener que agregar este atributo a cada uso de DateOnly y no tengo muy claro qué impide que se llame al convertidor cuando está configurado como parte de WebApplication. He hecho cosas similares en aplicaciones .net5 y asumo que algunos matices entre IHostBuilder y WebApplicationBuilder podrían estar causando el problema.

Editar: probablemente valga la pena señalar que estoy usando las nuevas API mínimas. Pero incluso Microsoft señala que la serialización de Json se puede configurar en los documentos aquí . Los documentos muestran una sintaxis ligeramente diferente a la que se usa comúnmente, builder.Services.Configure<JsonOptions> , por lo que asumí que tal vez este era el problema. Quizás las apis mínimas tenían una configuración diferente. Pero no es así. Al menos, usar la configuración sugerida en los documentos mínimos de API no resolvió el problema.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Bien, después de buscar lo suficiente pude encontrar la respuesta. Sí, la configuración de las API mínimas es independiente. La documentación estaba justo encima de donde describían la configuración de la serialización json de API mínima mediante builder.Services.Configure<JsonOptions>(options => ...) . Con suerte, esta respuesta ayudará a cualquier otra persona en el futuro demasiado impaciente como para leer la documentación detenidamente.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda