Ketiga-tiganya ialah jenis operasi, masing-masing dipetakan kepada satu root type dalam skema:
Ketiga-tiganya ialah jenis operasi, masing-masing dipetakan kepada satu root type dalam skema:
query GetPost { # read
post(id: "1") { title }
}
mutation AddComment { # write; returns the created object so the client updates its cache
addComment(postId: "1", text: "Nice!") {
id
text
}
}
subscription OnComment { # live: fires every time a comment is added
commentAdded(postId: "1") {
id
text
}
}
Mutation mengambil argumen (selalunya object input) dan patut memulangkan data yang terkesan supaya klien boleh menyegar semula tanpa permintaan kedua. Peraturan berjujukan itu penting: dua mutation dalam satu dokumen — deposit kemudian withdraw — sentiasa berjalan mengikut susunan itu, manakala dua medan query mungkin diselesaikan serentak.
Penemu duga memeriksa sama ada anda tahu query adalah selari dan bebas kesan sampingan manakala mutation adalah berjujukan, dan bahawa subscription memerlukan pengangkutan berkeadaan (WebSocket/SSE). Memulangkan data yang dikemas kini daripada mutation ialah butiran praktikal yang membezakan orang yang pernah menghantar (ship) GraphQL daripada mereka yang hanya membacanya.
Pustaka soalan temu duga IT dengan jawapan terperinci — daripada Junior hingga Senior.
Derma