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

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:

[
{
"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?

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.

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
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 !

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

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

[
{
"user": "Maciek",
},
{
"user": "Maciek2",
}
]
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 ?

0

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

0
Dregorio napisał(a):

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

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

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.

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