Twitter Youtube Github
Burak Kutbay'ın Kişisel Blog'u |

Type and hit Enter to search

  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • Spring Core
  • Spring Örnekleri
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale
Spring Boot

Spring Boot ile GraphQL Kullanmak Örnek Uygulama

Paylaş

Spring Boot kullanarak GraphQL’deki veri işlemlerinin nasıl olacağını örnek bir proje ile yapacağız. Bu projemizde H2 veritabanımızdan GraphQl ile bir veri yapısı oluşturup bu yapıyı kullanacağız. Veritabanı arasında bir köprü görevi gören GraphQl uygulaması yapalım.

Bir Spring Boot projesi oluşturalım. Spring Boot projemizin maven bağımlılıkları aşağıdaki gibidir.

<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>com.graphql-java</groupId> <artifactId>graphql-java-tools</artifactId> <version>5.2.4</version> </dependency> <dependency> <groupId>com.graphql-java</groupId> <artifactId>graphql-spring-boot-starter</artifactId> <version>5.0.2</version> </dependency> </dependencies>
Code language: HTML, XML (xml)

Ogrenci entitymizi oluşturalım.

@Entity @Table @Getter @Setter public class Ogrenci implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private String adi; private String soyadi; private int numara; private String sinifi; }
Code language: PHP (php)

Dto’muzu oluşturalım. Veritabanı ile client tarafına taşıyacağımız DTO muzu oluşturalım.

@Data public class OgrenciDto { private String numarasi; private String adi; }
Code language: PHP (php)

Ogrenci repostitorymizi oluşturalım ve Spring Data implementasyonu yapalım.

public interface OgrenciRepository extends JpaRepository<Ogrenci,Long> { List<Ogrenci> getByNumara(String numarasi); }
Code language: PHP (php)

Şimdide GraphQL modelimizi oluşturacağımız GraphQLQueryResolver implementasyonu yapıp gerekli metotlarımızı oluşturacağız. Bu metotlarımız controller görevi görmektedir.

@Component @RequiredArgsConstructor public class OgrenciQueryResolver implements GraphQLQueryResolver { private final OgrenciRepository _ogrenciRepository; public List<Ogrenci> getOgrenci(String numarasi) { return _ogrenciRepository.getByNumara(numarasi); } }
Code language: PHP (php)

resources klasörü altında ogrenci.graphqls dosyamızı oluşturuyoruz.

type Ogrenci { id: ID!, adi: String!, soyadi: String, numara: String, sinifi: String } input OgrenciDto { numarasi: String!, adi: String } type Query { getOgrenci(numarasi: String):[Ogrenci] getByNumarasi(id: ID):Ogrenci } type Mutation { createOgrenci(ogrenci: OgrenciDto):Ogrenci }
Code language: JavaScript (javascript)

Sonrasında ise GraphQL’den OgrenciQueryResolver‘i implement edeceğimiz OgrenciMutationResolver oluşturuyoruz.

@Component @RequiredArgsConstructor public class OgrenciMutationResolver implements GraphQLMutationResolver { private final OgrenciRepository _ogrenciRepository; public Ogrenci createVehicle(OgrenciDto ogrenciDto) { return _ogrenciRepository.save(dtoToEntity(ogrenciDto)); } private Ogrenci dtoToEntity(OgrenciDto ogrenciDto) { Ogrenci ogrenci = new Ogrenci(); ogrenci.setAdi(ogrenciDto.getAdi()); ogrenci.setSoyadi(ogrenciDto.getNumarasi()); return ogrenci; } }
Code language: PHP (php)

Programımızı çalıştıralım ve localhost:8080/_graphql adresinde veri erişimi olduğunu görebiliriz.

Tags:

spring boot derslerispring derslerispring graphql

Paylaş

Diğer Yazılar

Previous

Spring Data Nedir?

Spring Boot Logging Uygulama Örneği
Next

Spring Boot Dersleri Spring Logging Uygulama Örneği

Next
Spring Boot Logging Uygulama Örneği
07 Kasım 2020

Spring Boot Dersleri Spring Logging Uygulama Örneği

Previews
26 Ekim 2020

Spring Data Nedir?

blank

No Comment! Be the first one.

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgini Çekebilir

Spring Boot Dersleri

Spring Boot Projelerinde Tomcat Yerine Jetty Kullanmak

Spring Boot Dersleri Rest Template

Spring Boot RestTemplate Nedir ve Kullanımı

Spring Boot Dersleri

Spring Boot Transaction, Isolation, Propagation ve RollBack

Spring Boot Dersleri

Spring Boot Projelerinde Jackson Kullanımı

Burak Kutbay'ın Kişisel Blog'u |

© 2008 - ∞, Her hakkı saklıdır.

Link

  • Hakkımda
  • İletişim
  • Arşiv

Kategori

Cloud
Amazon Web Services
Vue.js
Gradle
Node.js
Android
Struts
Redis
Röportaj
Spring Data
Spring Cloud Stream
XCode
Debezium
Mikroservis Mimarisi
Video
Spring Native
iPhone Uygulama Geliştirme
Objective C
JPA
Spring Security
PostgreSQL
Apache Kafka
Git
Servlet
Yaptığım Projeler
Maven
Design Patterns
DevOps
Linux
RabbitMQ
PrimeFaces
JDBC
Spring Jdbc Template
Spring
Spring MVC
Manset
Google
Spring Cloud
OCA Java SE 8
Spring Core
Quarkus
Microsoft
Veritabanı
Tanıyalım
Java SE
Hibernate
Teknoloji
Okuduğum Kitaplar
Java Server Faces
Yazılım Mühendisliği
C Sharp
Spring Boot
Java
Günlüğüm
Java Server Page
Makale

Takip Et

Twitter Youtube Github
  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • Spring Core
  • Spring Örnekleri
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale