Булевые операции в GraphQL
Подскажите, кто работал с GraphQL, я хочу сделать такой запрос, у API SpaceX:
{
ships(find: {name: "", home_port: "'Fort Lauderdale' || 'Port of Los Angeles'"}) {
name
home_port
type
id
}
}
Необходимо найти все корабли, у которых порт один или другой.
Но || не работает, работает только простая строка, один порт. Знает ли кто-то способ, как только на GraphQL сделать это? Без JavaScript
Ответы (1 шт):
Автор решения: Михаил Камахин
→ Ссылка
Можно сделать так, например: (first и second это рандомные названия, которые я придумал)
{
first: ships(find: {name: "", home_port: "Fort Lauderdale"}) {
name
home_port
type
id
}
second: ships(find: {name: "", home_port: "Port of Los Angeles"}) {
name
home_port
type
id
}
}
Ответ будет таким:
{
"data": {
"first": [
{
"name": "Hollywood",
"home_port": "Fort Lauderdale",
"type": "Tug",
"id": "HOLLYWOOD"
}
],
"second": [
{
"name": "American Champion",
"home_port": "Port of Los Angeles",
"type": "Tug",
"id": "AMERICANCHAMPION"
},
{
"name": "Just Read The Instructions 2",
"home_port": "Port of Los Angeles",
"type": "Barge",
"id": "JRTI-2"
},
{
"name": "NRC Quest",
"home_port": "Port of Los Angeles",
"type": "Cargo",
"id": "NRCQUEST"
},
{
"name": "Pacific Warrior",
"home_port": "Port of Los Angeles",
"type": "Tug",
"id": "PACIFICWARRIOR"
},
{
"name": "Pacific Freeedom",
"home_port": "Port of Los Angeles",
"type": "Tug",
"id": "PACIFICFREEDOM"
},
{
"name": "Betty R Gambarella",
"home_port": "Port of Los Angeles",
"type": "Tug",
"id": "BETTYRGAMBARELLA"
},
{
"name": "American Islander",
"home_port": "Port of Los Angeles",
"type": "Cargo",
"id": "AMERICANISLANDER"
},
{
"name": "Kelly C",
"home_port": "Port of Los Angeles",
"type": "Tug",
"id": "KELLYC"
},
{
"name": "American Spirit",
"home_port": "Port of Los Angeles",
"type": "Cargo",
"id": "AMERICANSPIRIT"
}
]
}
}