DotVVM 5.0 vs. DTO JSON Atributy

Zdravím,

na jednom projektu jsem zkusil nasadit DotVVM 5.0 (Released). A zjistil jsem problém s DTO.

DTO nejdříve použiju pro parsování JSON (přes System.Text.Json) z externího API a poté DTO předávám před ViewModel do BP GridView a to zobrazí chybu.

Příklad DTO:

[JsonPropertyName("uptime")]
[JsonConverter(typeof(SecondToNullableDayHourMinuteSecond))]
public string Uptime { get; set; }

Je nějaké řešení nebo budu muset mít jedno DTO pro parsování z externího API a poté to předat do jiného DTO přes SELECT, aby byl použitelný v BP GRIDVIEW.

Díky za odpověď

Ondřej

Jakou chybu to hlásí? DotVVM 5 by convertery ze System.Text.Json mělo podporovat, ale je možné, že na klientovi se úplně nepočítá s tím, že tam bude něco jiného než string.
Obecně bych DTO mezi API a UI nesdílel, jsou to jiné scénáře a asi u nich chcete serializaci řešit jinak.

Taky si nejsem jistý co je přesně problém. Pokud chcete v DotVVM serializovat property bez toho converteru, jde to overridovat v konfiguraci (někde v DotvvmStatup.Configure)

config.GetSerializationMapper()
    .Map(typeof(MyDTO), map => {
        map.Property(nameof(MyDTO.Uptime)).SetJsonConverter(null);
    });

Akorát koukám, že ten argument máme chybně anotovaný jako non-nullable, ale bude to fungovat.