[ magrinjo @ 24.12.2019. 22:07 ] @
Pozdrav svima, imam jedan cudan problem.

Koristim Angular 6 za front i C# ( .net core) kao API.

U Angularu pozovem API, koji mi vraca podatke u odredjenom tipu (DTO), i kada stavim break-point na backend (API), on vrati sa velikim pocetnim slovom, kao i sto sam Visual Studio nalaze da u DTO-u svaki property ima pocetno veliko slovo.
Medjutim, front ga, unutar subscribe metode, vraca malim slovima, iako je naglaseno da ocekuje isti DTO tip.

Da li neko ima ideju sta moze da pravi problem?

Controller service:
Code:
 public GetPlayerProfileData() {
        let controllerUrl = this.environment + "players/GetPlayerProfileData";
        return this.http.get<PlayerProfileDto>(controllerUrl);
    } 


Code:

this.controllerService.GetPlayerProfileData().subscribe(x => {
      this.profileData = x;   --> (x vraca rezultat malim slovima)
[ mjanjic @ 25.12.2019. 23:32 ] @
Razlog je konverzija u JSON, ima na više mesta na netu rasprava o tome, ovo je jedna od novijih tema u vezi toga: https://github.com/aspnet/AspNetCore/issues/10156
[ magrinjo @ 27.12.2019. 16:35 ] @
Da, tacno...

Promenio sam DTO propertije da budu malim pocetnim slovom, tako da sam "zaobisao" ovaj "problem".

Hvala puno na odgovoru.
[ mjanjic @ 28.12.2019. 03:28 ] @
Nema na čemu!

Razlog je verovatno to što kod C# pozivaš Getter/Setter metode bez zagrada u slučaju čitanja vrednosti atributa, pa kod složenog koda može da bude problema razaznati da li se radi o atributima ili metodama. Zato je konvencija da se atributi i promenljive u kodu pišu malim početnim slovom, a metode velikim.

Međutim, kod JSON-a se radi o atributima iako se u C# pozivaju/čitaju velikim početnim slovom (jer je u pitanju Getter/Setter metoda), a ne metodama, pa se zato vrši konverzija tako da početno slovo bude malo, kako kasnije u JS ili nečemu tipa TS ne bi bilo zabune šta je atribut, a šta metoda.