Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> REST API i GET, Konwencja
markonix
post
Post #1





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Jaka jest dobra konwencja przy metodzie GET:

1) Zwrócenie wszystkich wierszy
2) Zwrócenie wszystkich rekordów z danej tabeli przynależnych do odpytującego usera?

Jeżeli 1) to jak odpytać o to co w punkcie 2)? Osobna metoda, jakiś filtr?

Chodzi o dobre praktyki, a nie o to jak to napisać.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SHiP
post
Post #2





Grupa: Zarejestrowani
Postów: 697
Pomógł: 47
Dołączył: 19.12.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Najlepsza konwencja moim zdaniem, to taka, którą prezentują Facebook/Vimeo. Wystarczy wybrać najlepsze rzeczy.

Nazwa powinna od razu wskazywać czy dostaniemy jeden, czy więcej rekordów

/users - pobiera kilku użytkowników
/user/2 - pobiera jednego użytkownika o ID = 2

/articles - pobiera kilka artykułów
/article/124 - pobiera jeden artykuł

I teraz dochodzą parametry. Jeżeli chcemy pobrać użytkownika o ID 6

/user/6

Jeżeli artykuł o ID 5

/article/5

Jeżeli artykuły użytkownika o ID 6

/user/6/articles/

Jeżeli wszystkie artykuły

/articles

Wszystko powinno być wykonywane w kontekście użytkownika/właściciela aby potem nie mieć problemów z tokenami dostępu:

Artykuły użytkownika o ID 6:

/articles/user/6 - źle

/user/6/articles - dobrze

+ zawsze można dodać alias do aktualnego użytkownika, którego tokenem się posługujemy

/me/articles
/me/friends

i metoda HTTP:

GET - pobieranie danych
POST - wrzucanie danych
PUT/PATCH - aktualizacja danych
DELETE - usuniecie danych

Ten post edytował SHiP 6.06.2016, 17:29:27
Go to the top of the page
+Quote Post
markonix
post
Post #3





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Cytat(SHiP @ 6.06.2016, 18:25:02 ) *
+ zawsze można dodać alias do aktualnego użytkownika, którego tokenem się posługujemy

/me/articles
/me/friends


Generalnie od tego momentu widzę częściową odpowiedź na moje pytanie (IMG:style_emoticons/default/wink.gif) Reszta jest dla mnie oczywista (IMG:style_emoticons/default/wink.gif)

Co do GitHub'a to przykład stąd:
https://developer.github.com/v3/repos/#list...ur-repositories
trafiony, fajnie, logicznie.

Pyton_000 - no właśnie dokumentacje mam średnią (bo będę czytać dopiero nad jakimiś generatorami) dlatego chce API było najmożliwiej logiczne i zgodne ze standardami.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 03:07