GraphQL & NestJS: Başlangıç Rehberi
Merhaba! Bu yazıda, güçlü ve ölçeklenebilir backend uygulamaları geliştirmek için mükemmel bir ikili olan GraphQL ve NestJS’e giriş yapacağız. Öncelikle, GraphQL’in ne olduğunu ve neden kullanmanız gerektiğini ele alacağız. Ardından, NestJS mimarisinin gücünden ve GraphQL ile entegrasyonundan bahsedeceğiz. Son olarak, birlikte basit bir uygulama oluşturacağız. Bu rehber, temel bilgileri anlayarak hızlı bir başlangıç yapmanıza yardımcı olacaktır.
GraphQL Nedir?
GraphQL, API’ler için bir sorgu dili ve çalışma zamanıdır. REST API’lere göre birçok avantaj sunar. Örneğin, REST API’lerde genellikle aşırı veri veya eksik veri sorunlarıyla karşılaşabiliriz. GraphQL ile ise, tam olarak istediğiniz verileri, istediğiniz formatta isteyebilirsiniz. Bu da performans artışı ve daha temiz kod anlamına gelir. Ayrıca, GraphQL’in güçlü tipi sistemi sayesinde, geliştirme sürecinde hataları daha erken yakalayabilirsiniz.
NestJS’in Gücü
NestJS, Node.js için bir backend framework’üdür. TypeScript ile yazılmıştır ve Angular’a benzer bir mimariye sahiptir. Bu mimari, özellikle büyük ve karmaşık projelerde, kodun organize ve bakımı kolay olmasını sağlar. NestJS, modüler ve ölçeklenebilir bir yapı sunar. Ayrıca, diğer kütüphanelerle kolay entegrasyon imkanı sunar. Bu özelliklerini GraphQL ile birleştirince, güçlü ve verimli bir uygulama geliştirebilirsiniz.
Kurulum ve İlk Adımlar
İlk olarak, Node.js ve npm (veya yarn) yüklü olduğundan emin olun. Ardından, yeni bir proje oluşturmak için aşağıdaki komutu çalıştırın:
npm install -g @nestjs/cli
nest new graphql-nestjs-app
cd graphql-nestjs-app
Proje oluşturulduktan sonra, GraphQL modülünü eklemek için aşağıdaki komutu kullanın:
npm install @nestjs/graphql graphql
Daha sonra, app.module.ts dosyasına GraphQL modülünü ekleyin ve resolver ve schema tanımlamalarınızı yapın. Detaylı bir örnek için buraya bakabilirsiniz. Bu örnekte, basit bir kullanıcı sorgulama sistemi nasıl oluşturulur gösterilmektedir.
Örnek Uygulama
Bu örnekte, kullanıcıların listesini sorgulamak için basit bir GraphQL resolver oluşturacağız. Bu, GraphQL ve NestJS’in temellerini anlamamıza yardımcı olacaktır.
import { Resolver, Query, Args, Int } from '@nestjs/graphql';
import { UsersService } from './users.service';
import { User } from './user.entity';
@Resolver(() => User)
export class UsersResolver {
constructor(private readonly usersService: UsersService) {}
@Query(() => [User], { name: 'users' })
findAll(@Args('limit', { type: () => Int, nullable: true }) limit: number): Promise {
return this.usersService.findAll(limit);
}
}
Bu kodda, @Resolver dekoratörü, User tipindeki verileri sorgulamak için kullanılan resolver sınıfını tanımlar. @Query dekoratörü ise, users adlı bir sorguyu tanımlar. Bu sorgu, UsersService sınıfının findAll metodunu çağırır ve kullanıcı listesini döndürür.
Daha fazla bilgi ve gelişmiş teknikler için kendi web sitemi ve diğer kaynakları inceleyebilirsiniz. Bu yazıda temelleri ele aldık, gelecek yazılarımda daha gelişmiş konulara değineceğim.
Umarım bu rehber size yardımcı olmuştur. Herhangi bir sorunuz varsa lütfen yorumlarda belirtin!
#Etiketler
GraphQL, NestJS, Node.js, TypeScript, Backend, API, REST, GraphQL Server, GraphQL Client, Tutorial, Örnek Kod, Veri Sorgulama, Backend Geliştirme