Eksperymentuję z GraphQL i potrzebuję pomocy w zrozumieniu, jaką wartość korzeni można uzyskać, gdy mutacja ma zostać wykonana.Jak zdecydować, jakiej wartości root użyć do mutacji GraphQL?
Konkretny przykład: chcesz zaktualizować nazwę użytkownika aktualnie zalogowanego użytkownika. Mutacja wygląda następująco:
mutation TestMutation {
updateMyUsername(newName: "CoolName") {
username }
}
Głównym obiektem, który należy podać, jest bieżący użytkownik. Ale skąd to wiesz, kiedy otrzymujesz mutację, nie analizując jej i nie widząc jej nazwy? Żadna decyzja nie jest możliwa na podstawie adresu URL, ponieważ istnieje tylko jeden punkt końcowy. Przetwarzanie łańcucha tylko po to, by wysłać go dalej tam, gdzie będzie ono przetwarzane, brzmi w najlepszym razie nieekonomicznie.
Czy zamiast tego można podać dodatkowe parametry w adresie URL lub treści żądania, aby nadać aplikacji więcej kontekstu?