Takip et

GraphQL API’sini Dakikalar İçinde Oluşturun

GraphQL API’sini Dakikalar İçinde Oluşturun

GraphQL, API’lerinizi geliştirmek için kullanabileceğiniz modern bir API sorgulama dilidir. Bu makalede, GraphQL’i nasıl kullanacağınızı ve temel bir GraphQL API’sini dakikalar içinde nasıl oluşturacağınızı göstereceğim.

GraphQL Nedir?

GraphQL, API’lerinizin nasıl yapılandırıldığını ve veriye nasıl erişileceğini tanımlayan bir sorgulama dilidir. Geleneksel REST API’lerine göre bir dizi avantaj sunar.

GraphQL’in Avantajları

GraphQL’in REST API’lerine göre aşağıdaki gibi bir dizi avantajı vardır:

  • Veri Sorgulama Esnekliği: GraphQL, sadece ihtiyacınız olan verileri sorgulamanıza olanak tanır. Bu, gereksiz verilerin indirilmesini önleyerek API yanıtlarının hızını ve verimliliğini artırır.
  • Tek Bir Son Nokta: GraphQL, tüm API verileri için tek bir son nokta kullanır. Bu, REST API’lerindeki birden fazla son noktayı yönetme ihtiyacını ortadan kaldırır.
  • Tip Güvenliği: GraphQL, şema tanımlama yoluyla tip güvenliğini sağlar. Bu, hata olasılığını azaltır ve API’lerinizi daha sağlam hale getirir.
  • Geliştirici Dostu: GraphQL, öğrenmesi ve kullanması kolay bir dildir.

GraphQL API’si Oluşturma

GraphQL API’si oluşturmak için çeşitli araçlar mevcuttur. Bu makalede, Node.js’de GraphQL API’si oluşturmak için popüler bir çerçeve olan Apollo Server’ı kullanacağız.

Gerekli Kurulumlar

Başlamadan önce, Node.js ve npm veya yarn paket yöneticisinin sisteminize kurulu olduğundan emin olun. Daha sonra aşağıdaki komutları kullanarak Apollo Server’ı ve gerekli bağımlılıkları kurabilirsiniz:

“`bash
npm init -y
npm install apollo-server graphql
“`

Schema Tanımlama

GraphQL API’sini tanımlamak için bir şema kullanırız. Şema, API’nizde mevcut olan türleri ve bunların nasıl birbirleriyle ilişkilendirildiğini tanımlar. Aşağıda basit bir örnek gösterilmiştir:

“`javascript
const { gql } = require(‘apollo-server’);

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

Bu şema, Query türünü tanımlar ve hello adında bir alan içerir. hello alanı, String türünde bir değer döndürür.

Çözücü Fonksiyonları

Şema, API’nizde nasıl veri sorgulamaları yapılacağını tanımlar ancak verilerin nasıl alınacağını belirtmez. Bu, çözücü fonksiyonlar tarafından gerçekleştirilir. Çözücü fonksiyonlar, her şema alanının verilerini nasıl döndüreceğini belirtir.

“`javascript
const resolvers = {
Query: {
hello: () => ‘Merhaba Dünya!’
}
};
“`

Bu çözücü fonksiyon, hello alanının 'Merhaba Dünya!' metnini döndüreceğini tanımlar.

Apollo Server’ı Başlatma

Şema ve çözücü fonksiyonları tanımladıktan sonra Apollo Server’ı başlatabiliriz.

“`javascript
const { ApolloServer } = require(‘apollo-server’);

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

server.listen().then(({ url }) => {
console.log(`🚀 Server ready at ${url}`);
});
“`

Bu kod, Apollo Server’ı oluşturur, şema ve çözücü fonksiyonları yapılandırır ve sunucuyu başlatır. Sunucu başlatıldığında, API’ye erişmek için konsolda gösterilen URL’yi kullanabilirsiniz.

GraphQL API’sini Kullanma

GraphQL API’sini kullanmak için GraphQL istemcisi kullanmanız gerekir. Bir GraphQL istemcisi, GraphQL sorguları göndermek ve yanıtları almak için kullanabileceğiniz bir araçtır. Popüler GraphQL istemcileri arasında Apollo Client, GraphQL Playground ve GraphiQL bulunur.

Bir GraphQL istemcisi kullanarak, şemanızı sorgulayabilir ve API’nizden veri alabilirsiniz. Örneğin, hello alanını sorgulamak için aşağıdaki GraphQL sorgusunu kullanabilirsiniz:

“`graphql
query {
hello
}
“`

Bu sorgu, hello alanını içeren bir yanıt döndürecektir. Yanıt aşağıdaki gibi olacaktır:

“`json
{
“data”: {
“hello”: “Merhaba Dünya!”
}
}
“`

Sonuç

Bu makalede, GraphQL’in temel bilgilerini ve Node.js’de Apollo Server kullanarak bir GraphQL API’si oluşturmayı öğrendik. GraphQL, veri sorgulama için güçlü ve esnek bir yaklaşımdır ve API’lerinizi modernleştirmek için harika bir seçenektir.

GraphQL’in daha fazla özelliği ve kullanımı hakkında bilgi edinmek için [GraphQL belgelerini](https://graphql.org/learn/) ve [Apollo Server belgelerini](https://www.apollographql.com/docs/apollo-server/) inceleyebilirsiniz.

#Etiketler

#GraphQL #API #ApolloServer #Node.js #WebGeliştirme #YazılımGeliştirme #Teknoloji #FatihSoysal #fatihsoysal.com

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.