Novidades do .NET 7: melhorias na serialização JSON em cenários de polimorfismo

  • Valores int também podem ser informados em typeDiscriminator, como indicado nas linhas 5 e 6 para os tipos Veiculo e Carro;
  • A classe CarroCorrida não foi associada a nenhuma declaração com o atributo JsonDerivedType. Isto poderia acarretar num erro de serialização ao utilizarmos o tipo Veiculo. Para resolver este problema podemos configurar no atributo JsonPolymorphic o valor da propriedade UnknownDerivedTypeHandling com o enumerator JsonUnknownDerivedTypeHandling.FallBackToNearestAncestor, que determina que as regras de serialização assumirão as configurações do ancestral mais próximo (Carro);
  • Outras possibilidades para JsonUnknownDerivedTypeHandling são FallBackToBaseType (em que se assumem as configurações do tipo no topo da hierarquia, que neste exemplo seria Veiculo) e FailSerialization (comportamento default, lançando uma exceção caso não haja mapeamento com JsonDerivedType).

--

--

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Renato Groffe

Renato Groffe

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker