Hjælp til låge #3 i Vertica Dev Xmas 2019-julekalender

December er en travl måned – og alligevel er I mange der har lige dét ekstra overskud, til at deltage i vores nørdede julekalenderkonkurrence.

Det er meget sjovt at følge med i aktivitetsniveauet – nogle af jer hopper på om formiddagen, andre lige efter kl. 16, og så er der endda nogle der sidder ud til i de sene aftentimer, og forsøger at lokalisere julemænd og rensdyr. Mange mange tak for det!activity

Jeg kan se at nogle af jer kæmper lidt med at få koden til at virke – i flere tilfælde er det håndtering af JSON serialisering der driller.

errors

Hvis man nu koder i .NET, så er der faktisk rigtig meget hjælp at hente, ved at installere følgende NuGet-pakke:

Med ovenstående pakke tilføjes der en række Extension-metoder til HttpClient-instansen.

Med dét kan man nøjes med at definere simple DTO (Data Transfer Object) -klasser og udelukkende koncentrere sig om at skrive kode der håndterer flow og forretningslogikker – og dermed ikke parsing og serialisering mellem .NET og JSON-strenge. Herunder er vist et eksempel:

Ovenstående outputter følgende resultat, hvis man kører koden med LINQPad:

output

… koden kan selvfølgelig også nemt kopieres over i f.eks. en Console Application. Husk blot at fjerne participateResponse.Dump();”-kaldet, da det er en LINQPad-specifik feature.

P.S. Hvis du vil have helt vildt meget hjælp til at løse opgaven i låge 3, hvilket selvfølgelig er helt okay, så klik dig ind på dette GitHub repository, som indeholder en reference implementering til løsning af lågerne.

Skriv et svar

Udfyld dine oplysninger nedenfor eller klik på et ikon for at logge ind:

WordPress.com Logo

Du kommenterer med din WordPress.com konto. Log Out /  Skift )

Google photo

Du kommenterer med din Google konto. Log Out /  Skift )

Twitter picture

Du kommenterer med din Twitter konto. Log Out /  Skift )

Facebook photo

Du kommenterer med din Facebook konto. Log Out /  Skift )

Connecting to %s