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
Quarkus

Quarkus Rest Api Uygulaması Yapmak

Paylaş

Quarkus Dersleri‘ne devam ediyorum. Bu yazıda Quarkus kullanarak Json Rest Api uygulaması nasıl geliştirileceğine bakacağız. Kaynak kodları ise yazının sonundaki linkten indirebileceksiniz.

İçindekiler

  • Uygulama Yapısı
  • Model
  • Controller
  • GZip Desteği
  • Sonuç

Uygulama Yapısı


Quarkus uygulamamız bir maven projesi olacaktır. Maven bağımlılığımız aşağıdaki gibi olacak.

<dependencies> <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-resteasy-jackson</artifactId> </dependency> <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-junit5</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>io.rest-assured</groupId> <artifactId>rest-assured</artifactId> <scope>test</scope> </dependency> </dependencies>
Code language: HTML, XML (xml)

Uygulamamızda kullandığımız kütüphaneler rest servis yazmamız için gereklidir.

Model


Öğrenci modelimiz olacak. Bu öğrenci bilgileri ile birlikte bir CRUD işlemi yapacak Qurkus Rest Api Uygulaması yapacağız.

public class Ogrenci { public String adi; public int numarasi; public Ogrenci() { } public Ogrenci(String adi, int numarasi) { this.adi = adi; this.numarasi = numarasi; } }
Code language: PHP (php)

Controller


Rest servislerimizi yazacağımız Controllerimizi oluşturacağız.

@Path("/ogrenciler") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) public class OgrenciController { private Set<Ogrenci> ogrencis = Collections.newSetFromMap(Collections.synchronizedMap(new LinkedHashMap<>())); public OgrenciController() { ogrencis.add(new Ogrenci("Burak", 1234)); ogrencis.add(new Ogrenci("Veli", 5677)); } @GET public Set<Ogrenci> list() { return ogrencis; } @POST public Set<Ogrenci> add(Ogrenci ogrenci) { ogrencis.add(ogrenci); return ogrencis; } @DELETE public Set<Ogrenci> delete(Ogrenci ogrenci) { ogrencis.removeIf(existingOgrenci -> existingOgrenci.adi.contentEquals(ogrenci.adi)); return ogrencis; } }
Code language: PHP (php)

Construcytor metodumuzda in memory bilgilerimizi yazdık ve GET, POST DELETE metotlarımızı oluşturduk bu oluşturduğumuz metotlar javax.ws.rs kütüphanesinden faydalanarak olşurduk. Bu yapıda quarkus kullanmak ile normal bir rest servis yazma arasında bir fark yok. Tabiki hız konusu için konuşmuyorum.

  • @Produces(MediaType.APPLICATION_JSON)
  • @Consumes(MediaType.APPLICATION_JSON)

alanları Json Rest Apimizin Client’tan response ve request tipini belirtiyoruz.

GZip Desteği

GZip (GNU zip) dosya sıkıştırma uygulamasıdır sunucu tarafında kullanılarak uygulamalarıımızı sıkıştırarak performans ve hız sağlanmaktadır.

Quarkus’un GZip desteği bulunmaktadır ve bunu properties dosyasında belirterek aktifleştirebiliyoruz.

quarkus.resteasy.gzip.enabled=true quarkus.resteasy.gzip.max-input=20M
Code language: JavaScript (javascript)
  • enable diyerek aktifleştirebiliyoruz.
  • max-input diyerek ise kullanılabilecek üst limit belirlenmektedir. Varsayılan üst değer 10M’dir.

Sonuç


Postmana ve istek yapalım. Uygulamamızın sonuclarına bakalım.

Quarkus Rest Api Uygulama Örneği 1
Quarkus Rest Api Uygulama Örneği 1

Uygulamamız sorunsuz bir şekilde çalışıyor sonraki Quarkus Dersleri’nde görüşmek üzere.


Projenin Kaynak Kodlarına Ulaş


Önceki Ders: Quarkus Merhaba Dünya
Quarkus Dersleri
Sonraki Ders: Uygulama Native Derleme

Tags:

Quarkus Dersquarkus örnekquarkus rest web servisquarkus resteasyquarkus uygulama örneğiQuarkus Uygulama ÖrnekleriQuarkus Uygulamaları

Paylaş

Diğer Yazılar

Quarkus Dersleri Uygulama Örnekleri
Previous

Quarkus Dersleri

Quarkus Dersleri Uygulama Örnekleri
Next

Quarkus Dersleri : Uygulama Native Derleme

Next
Quarkus Dersleri Uygulama Örnekleri
29 Aralık 2020

Quarkus Dersleri : Uygulama Native Derleme

Previews
23 Aralık 2020

Quarkus Dersleri

Quarkus Dersleri Uygulama Örnekleri

3 Comments

  1. Deniz dedi ki:
    27 Şubat 2021, 17:23

    Proje örneği için teşekkür ederim. Delete ve Post işlemleri için de örnek verebilir misiniz? Bir de curl ile yazmak istersek nasıl yazabiliriz? Teşekkürler. 🙂

    Cevapla
  2. Burak KUTBAY dedi ki:
    28 Şubat 2021, 20:17

    Postman’dan DELETE kısmını seçip id göndermek yeterli olacaktır.
    CURL olarak istek atmak isterseniz;

    curl -X DELETE http://localhost/ogrenciler/1

    yazabilirsiniz. Umarım sorunuzu anlayabilmişimdir.

    Cevapla
  3. Deniz dedi ki:
    01 Mart 2021, 22:34

    Çok teşekkür ederim. Yeterli benim için. 🙂

    Cevapla

Bir cevap yazın Cevabı iptal et

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

İlgini Çekebilir

Quarkus Dersleri Uygulama Örnekleri

Quarkus Nesnelerin Yaşam Döngüsü

Quarkus Dersleri Uygulama Örnekleri

Quarkus Custom Property Kullanmak

Quarkus Dersleri Uygulama Örnekleri

Quarkus Projelerinde Fault Tolerance Kullanmak

Quarkus Dersleri Uygulama Örnekleri

Quarkus Uygulaması Başlatma ve Kapanma Döngüsünü Yakalamak

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