Selamlar, bu yazıda, Spring WebFlux kullanarak bir REST API nasıl oluşturulacağını adım adım öğreneceğiz.Buraya tıklayarak Spring Webflux’ı açıklayan ilk yazımı okuyabilirsiniz.
Spring Webflux
İlk adımda, Spring Boot projesini oluşturmak için bir IDE kullanabilir veya Spring Initializr sitesini ziyaret ederek projeyi oluşturabilirsiniz. Spring WebFlux’ı kullanmak için gerekli olan bağımlılıkları projenize eklemeniz gerekmekte.
Maven kullanıcıları için pom.xml
dosyasına aşağıdaki bağımlılıkları ekleyebilirler:
<dependencies> <!-- Spring WebFlux --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId> </dependency> <!-- Diğer bağımlılıklar --> </dependencies>
Gradle kullanıcıları ise build.gradle
dosyasına aşağıdaki bağımlılıkları ekleyebilirler:
dependencies { // Spring WebFlux implementation 'org.springframework.boot:spring-boot-starter-webflux' // Diğer bağımlılıklar }
Eğer uygulamanız spring-boot-starter-web bağımlılığını da barındırıyorsa bunu kaldırmanız gerekir.
Basit bir Controller
oluşturalım
package com.codingbytime.webfluxrestservice.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import java.util.Arrays; @RestController @RequestMapping("/api/home") public class HomepageController { @GetMapping public Mono<String> getMonoResponse() { return Mono.fromSupplier(() -> "Hello World!"); } @GetMapping("/flux") public Flux<String> getFluxResponse() { return Flux.fromIterable( Arrays.asList("item 1", "item 2", "item 3") ); } }
Endpoint’leri test edelim:
Not: Bu yazıda verilen kod örnekleri basit bir şekilde anlatım amacıyla verilmiştir. Gerçek dünya uygulamalarında, veri tabanı entegrasyonu, hata yönetimi ve diğer güvenlik ve performans önlemleri gibi konuların da ele alınması önemlidir.