Blogger Jateng

Cara Menyiapkan Server GraphQL

Menyiapkan server GraphQL adalah usaha yang bermanfaat yang menyediakan lapisan API yang fleksibel dan efisien untuk aplikasi Anda. GraphQL, yang dikembangkan oleh Facebook, memungkinkan Anda untuk meminta data yang Anda butuhkan, menjadikannya alternatif yang menarik untuk REST API. Dalam panduan ini, kita akan membahas langkah-langkah untuk menyiapkan server GraphQL menggunakan Node.js dan Apollo Server.

Prasyarat

Sebelum Memulai, pastikan Anda telah menginstal hal-hal berikut ini.
  1. Node.js: Instal Node dengan mengunduh Node.js dari nodejs.org.
  2. npm atau Yarn: Node.js dilengkapi dengan npm (atau Anda dapat menggunakan Yarn sebagai manajer paket).
  3. Beberapa pengetahuan tentang JavaScript: Pengetahuan dasar tentang JavaScript dan Node.js akan membantu Anda mengikuti langkah selanjutnya.
sumber: encore.dev

Langkah 1: Menyiapkan proyek Anda

Pertama, buat direktori baru untuk proyek Anda dan inisialisasi proyek Node.js:

mkdir graphql-server
cd graphql-server
npm init -y

Perintah ini menghasilkan berkas package.json, yang mengelola dependensi dan metadata proyek Anda.

Langkah 2: Menginstal Ketergantungan

Langkah pertama adalah menginstal paket-paket yang diperlukan untuk membuat server GraphQL:

npm install apollo-server graphql
  • apollo-server: Pustaka penyiapan server GraphQL yang dikelola oleh komunitas dan mudah digunakan.
  • graphql: Pustaka inti untuk mendeklarasikan skema dan tipe GraphQL.

Langkah 3: Tentukan Skema Anda

Skema GraphQL mendefinisikan struktur data Anda dan memberikan kepada klien bagaimana data Anda dapat ditanyakan. Buat sebuah file bernama schema.js dan tentukan skema Anda:

const { gql } = require('apollo-server');

const typeDefs = gql`
  type Query {
    hello: String
  }
`;

module.exports = typeDefs;

Di sini, kita mendefinisikan skema sederhana dengan satu kueri, halo, yang mengembalikan sebuah string.

Langkah 4: Menerapkan Penyelesai

Penyelesai berisi logika untuk mengambil data yang didefinisikan dalam skema Anda. Buat berkas resolver. js:

const resolvers = {

  Query: {

    hello: () => 'Hello, world!',

  },

};


module.exports = resolvers;

Penyelesai halo hanya mengembalikan string statis “Halo, dunia!.

Langkah 5: Menyiapkan Server Apollo

Buat berkas index.js untuk membuat dan menjalankan Server Apollo Anda:

const { ApolloServer } = require('apollo-server');

const typeDefs = require('./schema');

const resolvers = require('./resolvers');


const server = new ApolloServer({ typeDefs, resolvers });


server.listen().then(({ url }) => {

  console.log(`🚀 Server ready at ${url}`);

});

Pada contoh ini, kita menyiapkan Apollo Server dengan skema dan resolver, lalu memulai server. 

Langkah 6: Jalankan Server

Jalankan server GraphQL Anda dengan perintah berikut:

node index.js

Jika semuanya sudah diatur dengan benar, Anda akan melihat pesan seperti:

🚀 Server ready at http://localhost:4000/

Buka URL pada browser Anda untuk mengakses GraphQL Playground dari Apollo Server, sebuah antarmuka interaktif untuk menguji kueri.

Langkah 7: Menguji API GraphQL Anda

Di GraphQL Playground, jalankan kueri berikut ini: 

{

  hello

}

Server harus merespons dengan:

{

  "data": {

    "hello": "Hello, world!"

  }

}

Langkah Selanjutnya

Anda sekarang telah menyiapkan server GraphQL dasar! Dari sini, Anda dapat:

  1. Menggunakan Dua Node: Menambahkan tipe baru dan resolver untuk tipe tersebut.
  2. Mengintegrasikan sebuah Basis Data: Menghubungkan basis data (MongoDB, PostgreSQL, dll) dan mengambil data aktual
  3. Menangani Mutasi: Menambahkan fungsionalitas untuk mengubah data dengan mutasi.
  4. Menerapkan Autentikasi: Amankan API Anda dengan autentikasi dan otorisasi.

Kesimpulan

Menyiapkan server GraphQL sangat mudah dan membuka pintu untuk menciptakan API yang kuat dan fleksibel. Dengan pengaturan dasar yang sudah ada, Anda dapat terus membangun fitur yang lebih kompleks yang disesuaikan dengan kebutuhan aplikasi Anda. Selamat melakukan pengkodean!