• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[REST API] Pobieranie statystyk o zasobie

42 Warsaw Coding Academy
0 głosów
293 wizyt
pytanie zadane 26 maja 2022 w Java przez wanttobeanengineer Obywatel (1,120 p.)
[REST API]

Cześć, w jaki sposób najlepiej pobierać statystyki o zasobie/zasobach.

Dla przykładu piszę system wypożyczalni książek i chcę pobrać następujące statystyki:
1) Książki i ilości ich wypożyczeń w danym okresie oraz jak procentowo wyglądają wypożyczenia rozbijając je na gatunek książki
3) Ilość wypożyczeń książek z wszystkich gatunków dla konkretnego użytkownika (oraz wynik w %)
4) Ilość wypożyczeń ksiązek z konkretnego gatunku dla konkretnego użytkownika (oraz wynik w %)

Ja mam pomysł na takie endpointy
1) [GET] /stats/books?fromDate=XXX&toDate=YYY
2) [POST] /stats/books?fromDate=XXX&toDate=YYY
   oraz body {  userId : 1, genreId : 1 }
   i teraz jak chcę pobrać wszystkie gatunki użytkownika to w body przekazuję tylko userId, a jak chcę pobrać konkretny gatunek użytkownika to i userId i genreId.

Drugi pomysł jest taki:
1) [GET] /books/stats?fromDate=XXX&toDate=YYY
2) [GET] /users/{id}/books/stats?fromDate=XXX&toDate=YYY&genreId=999 - i tutaj jeśli nie podamy w parametrze genreId to pobiera dla wszystkich gatunków, natomiast jeśli podamy to tylko dla konkretnego gatunku

Jak to powinno wyglądać, żeby jak najlepiej spełniało założenia RESTa?
1
komentarz 26 maja 2022 przez CubeStorm Pasjonat (15,020 p.)
Poczytaj trochę o restful api, pobieranie danych nie powinno odbywać się metodą post.

Do wchodzenia bardziej w "szczególiki" danych, filtrowanie etc chyba lepiej sprawdziłby się graphql, osobiście nigdy nie korzystałem.
komentarz 26 maja 2022 przez Wiciorny Ekspert (280,970 p.)
edycja 27 maja 2022 przez Wiciorny
o REST. nie o REST-API. Co do baz grafowych vs typowych relacyjnych - to swojądrogą w kwestii filtrowania i szczegółów to za bardzo nie ma, Ergo zależy o jakiś szczegółach mowa, na pewno nie tych związanych ze szczegółowościa informacji czy danych

1 odpowiedź

0 głosów
odpowiedź 26 maja 2022 przez wanttobeanengineer Obywatel (1,120 p.)
Oczywiście, że się nie powinno, ale w niektórych przypadkach zasady restowe są naginane - GraphQL odpada bo nie mam czasu tego implementować a nie mam w ogóle doświadczenia. Jeśli chodzi o resta i "naginanie" zasad to dlatego dałem dwie możliwości i pytam która z nich lepsza, czy ta naginająca zasady czy ta z parametrami (a parametrów może być docelowo więcej), jeśli żadna z powyższych (czego mogę się spodziewać, bo to moje pierwsze REST API), to proszę o informacje w jaki inny sposób powinienem to osiągnąć - nie proszę o gotowe rozwiązanie tylko o przykłady endpointów.

O REST API się wystarczająco naczytałem i nie widzę nigdzie odpowiedzi jednoznacznej, dlatego pytam na forum o wasze zdanie.. głównie tych bardziej doświadczonych programistów, którzy już kilka lat klepią api.

Podobne pytania

0 głosów
1 odpowiedź 262 wizyt
pytanie zadane 17 lutego 2020 w Java przez HakerHakerski Nowicjusz (160 p.)
0 głosów
1 odpowiedź 292 wizyt
pytanie zadane 25 listopada 2019 w JavaScript przez varespol Użytkownik (710 p.)
0 głosów
1 odpowiedź 477 wizyt

93,389 zapytań

142,385 odpowiedzi

322,547 komentarzy

62,749 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...