Wyświetlanie szczegółów

0

Cześć tworzę witrynę API (.net core) UI (ANgular). Mam taki problem stworzyłem endpoint w API do wyświetlania szczegółów. Lecz mam problem z Angularem. Mam listę elementów. I chciałbym aby nazwa elementu była linkiem do szczegółów elementu. Stworzyłem w services taką funkcję

  getJobOfferDetails(id: string) {
    return this.http.get(`https://localhost:44322/JobOffer/offers-details/${id}`, {});

Oraz nowy komponent i nie wiem co dalej. Jak mam stworzyć tego linka oraz do funkcji ngInit tego komponentu dałem:

    this.jobService.getJobOfferDetails(this.id).subscribe(response=> 
      {
        this.data = response;
      });

Nie wiem skąd te id ma mieć wartość :(

2

o_O Każdy element w liście powinien zawierać ID encji. Po klinięciu przechodzisz do "widoku" ze szczegółami i w ngOnInit pobierasz ID ze ścieżki. https://www.techiediaries.com/angular-router-route-parameters/

Masz pomieszane konwencje w ścieżce (raz PascalCase, raz kebab-case). Zamiast /api/job-offers/offer-details/:id lepiej byłoby mieć /api/job-offers/:id albo jeśli masz kilka "widoków" tej samej encji, to /api/job-offers/:id/details.

Zamiast this.http.get(...) powinieneś mieć raczej jakieś this.http.get<JobOfferDetails>(...). No chyba, że musisz jakoś te dane z API przetworzyć, wtedy this.http.get(...).pipe(map(data => new JobOfferDetails(...))) (ewentualnie jakiś adapter). https://blog.florimond.dev/consuming-apis-in-angular-the-model-adapter-pattern

1 użytkowników online, w tym zalogowanych: 0, gości: 1