Express.js ile GraphQL API Geliştirme Rehberi

Express.js ile GraphQL API Geliştirme Rehberi


Gelişen web teknolojileri sayesinde veri yönetimi ve sorgulama yöntemleri de değişmiştir. GraphQL, API geliştirme sürecinde esneklik ve verimlilik sunan bir sorgulama dilidir. Bu makalede, Express.js framework'ü ile GraphQL API geliştirme sürecini adım adım inceleyeceğiz. Express.js kullanarak GraphQL API oluşturmanın avantajlarından bahsedecek ve örnek bir uygulama ile konuyu pekiştireceğiz.

GraphQL Nedir ve Avantajları

GraphQL, API'lerinizi oluşturmanın ve geliştirmenin modern bir yoludur. RESTful API'lere göre birçok avantaj sunar. Öncelikle, istemcilerin yalnızca ihtiyaç duyduğu verileri talep etmelerini ve gereksiz veri taşınmasını önlemelerini sağlar. Ayrıca, GraphQL ile birden fazla kaynağa tek bir istekte bulunarak verileri bir araya getirmek mümkündür. Bu da istemci tarafında daha az istek yapılmasına yol açar, dolayısıyla ağ trafiğini azaltır.

Express.js ile GraphQL API Geliştirme

Gerekli Kurulum

Başlamak için gerekli kütüphaneleri yüklememiz gerekiyor. Aşağıdaki komutları terminalde çalıştırarak yeni bir Node.js projesi oluşturun ve gerekli kütüphaneleri yükleyin:

mkdir graphql-express-example
cd graphql-express-example
npm init -y
npm install express express-graphql graphql

Temel Sunucu Ayarları

Şimdi basit bir Express.js sunucusu oluşturalım. index.js adında bir dosya oluşturun ve aşağıdaki kodları ekleyin:

const express = require('express');
const { graphqlHTTP } = require('express-graphql');
const { buildSchema } = require('graphql');

const app = express();

// GraphQL Şeması
const schema = buildSchema(`
  type Query {
    hello: String
  }
`);

// Resolver'lar
const root = { hello: () => 'Merhaba Dünya!' };

// GraphQL Endpoint'i
app.use('/graphql', graphqlHTTP({
  schema: schema,
  rootValue: root,
  graphiql: true,
}));

app.listen(4000, () => {
  console.log('Sunucu 4000 portunda çalışıyor.');
});

API'yi Test Etme

Sunucuyu başlatmak için terminalde aşağıdaki komutu çalıştırın:

node index.js

Tarayıcıda http://localhost:4000/graphql adresine gidin. GraphiQL arayüzünü kullanarak sorgular yazabilirsiniz:

{ hello }

Bunun sonucunda "Merhaba Dünya!" mesajını göreceksiniz.

Sonuç

Express.js ile GraphQL API geliştirmek, verimlilik ve esneklik sunarak modern uygulama gereksinimlerine cevap verir. Bu makalede adım adım bir örnek üzerinde çalıştık ve temel kavramları öğrendik. GraphQL'in sağladığı faydalar sayesinde, veri sorgulama ve yönetimi süreçlerimizde daha etkili olabileceğiz. İleri düzey uygulamalar için, daha karmaşık tipler ve resolver'lar ekleyerek GraphQL yeteneklerinizi geliştirebilirsiniz.