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