Cara Menguji GraphQL Menggunakan Postman

1. Ikhtisar

Dalam tutorial singkat ini, kami akan menunjukkan cara menguji titik akhir GraphQL menggunakan Postman.

2. Ringkasan Skema dan Metode

Kami akan menggunakan titik akhir yang dibuat di tutorial GraphQL kami. Sebagai pengingat, skema berisi definisi yang menjelaskan postingan dan penulis:

type Post { id: ID! title: String! text: String! category: String author: Author! } type Author { id: ID! name: String! thumbnail: String posts: [Post]! }

Plus, kami punya metode untuk menampilkan posting dan menulis yang baru:

type Query { recentPosts(count: Int, offset: Int): [Post]! } type Mutation { writePost(title: String!, text: String!, category: String) : Post! }

Saat menggunakan mutasi untuk menyimpan data, bidang wajib ditandai dengan tanda seru . Perhatikan juga bahwa dalam Mutasi kita , tipe yang dikembalikan adalah Post , tetapi dalam Query, kita akan mendapatkan daftar objek Post .

Skema di atas dapat dimuat di bagian API Postman - cukup tambahkan API Baru dengan tipe GraphQL dan tekan Generate Collection :

Setelah kami memuat skema kami, kami dapat dengan mudah menulis kueri sampel menggunakan dukungan pelengkapan otomatis Postman untuk GraphQL .

3. Permintaan GraphQL di Postman

Pertama-tama, Postman memungkinkan kita mengirim tubuh dalam format GraphQL - kita cukup memilih opsi GraphQL di bawah ini:

Kemudian, kita dapat menulis kueri GraphQL asli, seperti kueri yang memberi kita judul , kategori , dan nama penulis ke dalam bagian QUERY:

query { recentPosts(count: 1, offset: 0) { title category author { name } } }

Dan sebagai hasilnya, kita akan mendapatkan:

{ "data": { "recentPosts": [ { "title": "Post", "category": "test", "author": { "name": "Author 0" } } ] } }

Anda juga dapat mengirim permintaan menggunakan format mentah , tetapi kita harus menambahkan Jenis Konten: application / graphql ke bagian tajuk. Dan, dalam hal ini, bodinya terlihat sama.

Misalnya, kita dapat memperbarui judul, teks, kategori, mendapatkan id dan judul sebagai tanggapan:

mutation { writePost ( title: "Post", text: "test", category: "test", ) { id title } }

Jenis operasi - seperti kueri dan mutasi - dapat dihilangkan dari badan kueri selama kita menggunakan sintaks singkat. Dalam kasus ini, kita tidak dapat menggunakan nama operasi dan variabel, tetapi disarankan untuk menggunakan nama operasi untuk memudahkan logging dan debugging.

4. Menggunakan Variabel

Di bagian variabel, kita dapat membuat skema dalam format JSON yang akan memberikan nilai ke variabel. Ini menghindari pengetikan argumen dalam string kueri:

Jadi, kita dapat memodifikasi badan recentPosts di bagian QUERY untuk secara dinamis menetapkan nilai dari variabel:

query recentPosts ($count: Int, $offset: Int) { recentPosts (count: $count, offset: $offset) { id title text category } }

Dan kita dapat mengedit bagian GRAPHQL VARIABLES dengan apa yang kita ingin variabel kita disetel ke:

{ "count": 1, "offset": 0 }

5. Ringkasan

Kami dapat dengan mudah menguji GraphQL menggunakan Postman, yang juga memungkinkan kami untuk mengimpor skema dan menghasilkan kueri untuknya.

Kumpulan permintaan dapat ditemukan di GitHub.