Spring Boot ile GraphQL API – 2

0 1,511

Önceki yazımızda kaldığımızdan yerden devam edeceğiz. Senaryoyu değiştirerek uygulamayı adım adım ilerleteceğiz.

Proje yapısını da değiştireceğimiz için öncelikle aşağıdaki adımları yapmamız gerek.

  1.  resolver ve model package oluşturulalım ve model package içerisine Blogger class’ını oluşturalım.
  2. src/main/resource altına graphql klasörü oluşturup önceki yazımızda oluşturduğumuz schema.graphqls dosyasını bu klasör içine taşıyalım. Bu işlemi yapmamızın nedeni oluşturacağımız diğer schemalar’ı tek dosya yerine, her biri için ayrı *.graphqls dosyası oluşturup schema’ları ayrı yönetmek.

Entitiy Oluşturma

Blogger entity’sini model package içerisine oluşturalım.

Schema Oluşturma

Bu noktada schema dosyasında bir farklılık görüyoruz. Giriş kısmında belirttiğim gibi schema dosyalarını ayırabiliriz. Fakat tek bir root olarak Query tanımı olabilir. Bunun için de  extend type Query olarak tanımlıyoruz.

Resolver Oluşturma

Tekrar üstünden geçmekte fayda var. Her Query için bir QueryResolver oluşturamamız gerek ve bu resolver’daki metod ismi ile Schema içerisinde yaptığımız tanımın ismi aynı olmalı.

Test

sorguladığımızda aşağıdaki sonucu alacağız.

Şimdi ikinci bir Query yazalım ve parametre olarak id alsın.

Eklenen yeni Query tanımı ile yeni blogger.graphqls aşağıdaki gibi olmalı.

BloggerQueryResolver‘a aşağıdaki metodu eklememiz yeterli.

getBlogger query’i çağırdığımızda aşağıdaki çıktı almayı belirtiyoruz.

 

GitHub kodlarına aşağıdaki linkten ulaşabilirsiniz.

Faydalı olması dileğiyle.

Email adresiniz yayınlanmayacaktır.