Rest API - GET / czy można wybrać coś poprzez JSON ?

Rest API - GET / czy można wybrać coś poprzez JSON ?
ET
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
0

Nie wiem czy dobrze to opiszę.

Mam możliwość jedynie wybrania stałego punktu tzw ENDPOINT-a który będzie wyglądał następująco:

mójadres/api/użytkownicy, gdzie w środku będzie JSON w stylu np:

Kopiuj
[
{
"user1": "Maciek",
"wiek": 20.
},
{
"user2": "Maciek2",
"wiek": 40.
}
]

i teraz chciałbym za pomocą metody get wysłać zapytanie do tego ednpointa aby uzyskać tylko wybrane informacje? Np tylko wartość pola user:1 i mogę to zrobić jedynie poprzez wysłanie JSON-a (inaczej pisząc wartość raw body w postman) - czy jest to możliwe?

NS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 457
2

Ciężko się domyśleć o co Ci chodzi, dokładając do tego, że nie masz pola 'user:1'.
Dodaj coś więcej, jaki JSON chciałbyś osiągnąć np.

KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5549
2

Kilka rzeczy:

  • To co chciałbyś pasuje bardziej do GraphQL a nie do REST API
  • Request dla GET nie może zawierać body (dlatego, z te go co kojarzę, GraphQL używa metody POST)
  • Można zrobić zwracanie tylko konkretnych pól, ale to wymaga obsługi po stronie serwera. Po stronie samego frontu tego nie zrobisz
ET
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
0
NeutrinoSpinZero napisał(a):

Ciężko się domyśleć o co Ci chodzi, dokładając do tego, że nie masz pola 'user:1'.
Dodaj coś więcej, jaki JSON chciałbyś osiągnąć np.

masz rację źle to napisałem , mam na myśli wyciągnięcie (GET) wartości dla klucza "user1"
czyli w odpowiedzi otrzymuje { "user1": "MacieK"} , ewentualnie tylko {"maciek"} // tylko że to już nie byłby JSON ..

KamilAdam napisał(a):

Kilka rzeczy:

  • To co chciałbyś pasuje bardziej do GraphQL a nie do REST API
  • Request dla GET nie może zawierać body (dlatego, z te go co kojarzę, GraphQL używa metody POST)
  • Można zrobić zwracanie tylko konkretnych pól, ale to wymaga obsługi po stronie serwera. Po stronie samego frontu tego nie zrobisz

ad1. Kurczę wiem że o graphQL jest głośno i na pewno warto na przyszłość znać ale czy dla jednego efektu nie mam rozwiązania na "już" ?
a może wcale to nie jest dużo zabawy i mógłbym pomyśleć zintegrować api z graphQL ?

ad3. Możesz nieco rozjaśnić ? Sam jestem twórcą REST-a . To znaczy mogę utworzyć endpoint jaki tylko sobie wymarzę tylko jeszcze muszę wiedzieć jak i umieć to zrobić. Dzięki za ten post !

DR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1135
0

Chyba chcesz miec request jak mójadres/api/użytkownicy/{id}
Albo uzyj Query Parameters i masz mójadres/api/użytkownicy?user="Olo"&wiek=12

KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5549
0
etato napisał(a):

ad3. Możesz nieco rozjaśnić ? Sam jestem twórcą REST-a . To znaczy mogę utworzyć endpoint jaki tylko sobie wymarzę tylko jeszcze muszę wiedzieć jak i umieć to zrobić. Dzięki za ten post !

dodajesz du urla parametr fields i implementujesz go tak że jak nie jest ustawiony to zwraca wszystkie pola, a jak ustawiony to tylko wybrane pola. Niestety obsługę tego trzeba napisać sobie samemu.

czyli mójadres/api/użytkownic?fields=user zwraca

Kopiuj
[
{
"user": "Maciek",
},
{
"user": "Maciek2",
}
]
ET
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
0
Dregorio napisał(a):

Chyba chcesz miec request jak mójadres/api/użytkownicy/{id}
Albo uzyj Query Parameters i masz mójadres/api/użytkownicy?user="Olo"&wiek=12

no ale właśnie nie chce mójadres/api/użytkownicy/1234 bo wyświetla mi się tylko użytkownik 1234 . A jak wyświetlić wszystkich ?

DR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1135
0

@etato: mójadres/api/użytkownicy ?

ET
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
0
Dregorio napisał(a):

@etato: mójadres/api/użytkownicy ?

no nie bo jest 403 error // {
"message": "Missing Authentication Token"
}

NS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 457
1

Ja bym jednak polecił poczytać trochę o REST API, nie powinno to zając długo, bo ciężko cokolwiek więcej pisać, bez znajomości jakichś podstaw.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.