Express ile GraphQL Sunucusu Çalıştırma

Mehmet Ali Peker
Sorcial Development
2 min readDec 31, 2017

GraphQL API sunucusu çalıştırmak için Express kullanmak en kolay yoldur, NodeJS için popüler bir web uygulaması framework (kod çatısı)’üdür. İki ek bağımlılık yüklememiz gerekecek:

npm install express express-graphql graphql --save

“Hello World” örneğimizi tek bir sorguyu çalıştıran bir komut dosyası yerine API sunucusu olarak değiştirelim. Web sunucusu çalıştırmak için “express” modülünü kullanabiliriz, ve doğrudan bir sorguyu graphql fonksiyonu ile yürütmek yerine express-graphql kütüphanesini “/graphql” HTTP bitiş noktasına (endpoint) bir GraphQL API sunucusunu bağlamak için kullanabiliriz.

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

// GraphQL şema dilini kullanarak bir şema oluşturun
var schema = buildSchema(`
type Query {
hello: String
}
`);

// Kök (root) her API bitiş noktası için bir çözümleyici (resolver) sağlar
var root = {
hello: () => {
return 'Hello world!';
},
};

var app = express();
app.use('/graphql', graphqlHTTP({
schema: schema,
rootValue: root,
graphiql: true,
}));
app.listen(4000);
console.log('Running a GraphQL API server at localhost:4000/graphql');

GraphQL sunucusunu bununla çalıştırabilirsiniz:

node server.js

graphqlHTTP yi graphql: true ile yapılandırdığımızdan, GraphiQL aracını GraphQL sorgularını manuel olarak yazıp çalıştırmak için kullanabilirsiniz. Web tarayıcısında http://localhost:4000/graphql adresine girerseniz, sorgular girmenize izin veren bir arabirim göreceksiniz. Şuna benzeyecektir:

Bu ekran görüntüsü çalıştırılan { hello } GraphQL sorgusunun verdiği cevabı ( { data: { hello: ‘Hello world!’ } } ) gösterir. GraphiQL bir sunucuda hata ayıklama ve inceleme için harika bir araçtır, bu nedenle uygulamanız geliştirme modunda olduğunda onunla çalışmanızı öneririz.

Bu noktada bir GraphQL sunucusunun nasıl çalıştırılacağını öğrendiniz ve sorguları çalıştırmak için GraphiQL arayüzünün nasıl kullanılacağını öğrendiniz. Bir sonraki adım, istemci kodundan GraphQL sorgularının nasıl çalıştırılacağını öğrenmektir.

Not: GraphiQL ile çalışırken CTRL+Space yazabileceğiniz değerleri örnek için sadece hello. CTRL+Enter ise yazdığınız sorguyu çalıştırır

Not 2: Yazıda bahsedilen çalıştırma aslında sunucundan onu istemektir açıklamak gerekirse benim sorgum bu sen bu sorguyu al çalıştır ve bana cevabı göster gibi bir anlam taşır sorgunun asıl çalıştırıldığı yer sunucudur.

--

--

Mehmet Ali Peker
Sorcial Development

Co-Founder at T-Fashion / Fashion AI & Trend Forecasting / Web3 / NFTs