Czy GraphQL ma możliwość, aby klient poinformował serwer, że chce pola tylko wtedy, gdy to pole nie jest null
?Zapytanie GraphQL: zawiera tylko pole, jeśli nie jest puste.
Zważywszy na zapytanie
query HeroAndFriends {
hero {
name
friends {
name
}
}
}
odpowiedź powinna wtedy wyglądać
{
"data": {
"hero": {
"friends": [
{
"name": "Luke Skywalker"
},
{
"name": "Han Solo"
},
{
"name": "Leia Organa"
}
]
}
}
}
zamiast
{
"data": {
"hero": {
"name": null,
"friends": [
{
"name": "Luke Skywalker"
},
{
"name": "Han Solo"
},
{
"name": "Leia Organa"
}
]
}
}
}
to możliwe bez naruszania specyfikację GraphQL?
Po prostu ciekawa informacja: jaki jest przypadek użycia tego zachowania? –
@AhmadFerdousBinAlam Mam klasę danych Kotlin z wartościami domyślnymi (nie wartościami zerowymi), których nie chcę, aby były nadpisywane podczas deserializacji. – FWeigl
@Ahmad Ferdous, jeśli chodzi o przypadek użycia, co jeśli serwer zwróci tablice elementów, które mają rozrzedne dane? jak każdy obiekt ma wiele pól, z których tylko kilka zawiera coś raczej niż zero. Czy nie byłoby lepiej wykluczyć te pola z ładunku, aby zmniejszyć ogólny rozmiar odpowiedzi interfejsu API? – margaretkru