GraphQL spørsmål / mutasjoner er super clean: de bare kreve hva de faktisk trenger , ikke noe annet. Eller i det minste de grunnleggende er.
Men hvis du bruker variabler med enten en har så din syntaks uunngåelig redundans i det:
query HeroNameAndFriends($episode: Episode) {
hero(episode: $episode) {
name
friends {
name
}
}
}
Legg merke til $episode: Episode
og episode: $episode
. Saken er HVER GraphQL mutasjon krever samme redundans: Hvis du bruker variabler, har hvert argument for å bli definert to ganger (og hvis du gjør programmatiske søk, du utvilsomt bruker variabler).
Mitt spørsmål er, hvorfor? Det virker så unødvendig å gjøre alle som bruker GraphQL å gjenta sine argumenter for andre gang.
Hvorfor ikke bare gjøre syntaksen:
query HeroNameAndFriends() {
hero(episode: Episode) {
name
friends {
name
}
}
}
eller hvis du virkelig trenger å tillate ulike variabelnavn, tillate en valgfri tredje del:
query HeroNameAndFriends() {
hero(episode: Episode : $episode) {
name
friends {
name
}
}
}
For å være klar, jeg forstår at variable-hjelp av spørringer er forskjellig fra ikke-variable seg, men det jeg spør om er, hvorfor velge en syntaks for de spørsmål som tvinger alle til å gjenta seg selv?
Det bare virker så ... ikke tørr! Sikkert jeg mangler en viktig grunn til at denne gjentakelsen er nødvendig?