Wpis z mikrobloga

Czy tak to powinno wyglądać? Bo coś mi się nie zdaje ( ͡° ʖ̯ ͡°) Hierarchia to Book -> Post -> Comment. Co jeśli teraz dojdą jeszcze komenty? To mam dodać 3ci kontroller z takim początkiem? Za każdym razem podawać np. 3 id jeśli chce się dostać do danego komentarza (np. /api/book/{bookId}/post/{postId}/comment/{commentId}? Może powinienem zmienić strategię np. jak będę chciał usunąć Post o danym id to wyszukam jaką ma książkę przypisaną do siebie i rozłącze je i dopiero usunę post (relacja dwukierunkowa), narazie są 2 kontrolery a mają taki sam początek (nie wiem czy to dobrze).

#rest #spring #java #pytanie #programowanie
MrFisherman - Czy tak to powinno wyglądać? Bo coś mi się nie zdaje ( ͡° ʖ̯ ͡°) Hierar...

źródło: comment_1610839293NWBqbufxzlllUowKTNWmN2.jpg

Pobierz
  • 13
  • Odpowiedz
@bruuh: patrzyłem na to od strony użytkownika przeglądarki (a nie programisty frontu) co było błędne, bo to było takie myślenie: najpierw musi wbić w ksiazki - czyli ma id ksiazki, no to pod spodem ma posty - czyli id posta, no i teraz to już wbija w sekcje komentarzy i ma id komentarza ( ͡° ͜ʖ ͡°) dzieki
  • Odpowiedz
@bruuh: @MienciuskiPajonk: @scriptkitty: ale w sumie jeszcze jedno pytanko, bo jeśli teraz chcę sobie wziąc pobrać wszystkie posty do danej książki to powinienem to dać do controllera książki czy kontrollera postów, i jak teraz taki endpoint ma wyglądać? Ma być coś na zasadzie /api/posts?bookId=3 ?
  • Odpowiedz
@MienciuskiPajonk: tak relacja OneToMany dwukierunkowa, ale na get /books tak jak mówisz mam książki (jakiś tam tytuł, opis, ocena itp), nie mogę też wszystkiego naraz zaciągać bo to by tworzyło problemy wydajnościowe cnie. Więc najlepiej bym chciał żeby jak ktoś wbije w daną książkę to żeby mu dociągało posty a jak w danego posta wejdzie to żeby dociągało komentarze. Stąd właśnie nie wiedziałem.
  • Odpowiedz
@MrFisherman: a czy, jest Book -> id to jest np. iban czy po prostu unikalny identyfikator książki w systemie? Bo jak jakiś IBAN i znasz go w momencie dodawania to zamiast POST musisz dać PUT :)
  • Odpowiedz