Swagger Nedir Ne İşe Yarar?
Swager uygulama geliştiricilerin geliştirme esnasında oluşturdukları API yi postman gibi herhangi bir araç kullanmadan test etmeye yarar. Swager Java .NET vb dillerle yazılmış API lerle implemente edilerek Apilerin testlerinde kolaylık sağayan arayüzdür.
Kurulum aşamaları:
Güncel versiyonları takip edebilmek için aşağıdaki ingilizce kaynaktan da yararlanabilirsiniz.
https://www.baeldung.com/swagger-2-documentation-for-spring-rest-api
swagerin kurulumu düşünüldüğü kadar karışık değildir. Spring Boot Apisine İmplementasyonu 4 aşamadan oluşmaktadır. Bu aşamalar şu şekildedir.
1. projenizde bulunan pom.xml dökümanını açarak aşağıdaki satırları dependencies tagının içine yapıştırınız ve kaydediniz.
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
2. pom.xml e eklenen dependency lerin projeye download edilmesi için projeyi kapatıp açmanızı öneririm. projeyi kapatıp açmak istemez iseniz de Maven menüsü altından önce clean sonra install yada package configrasyonlarına tıklayabilirsiniz.
3. Bu işlem sonrası projenizin ana dizininde bulunan projeadiApplication.java dosysının içinde (src --> main --> java --> com --> projeadı ) aşağıdaki kodları yapıştırın.
public class projeadiApplication.java üstüne @EnableSwagger2 anatasyonu ekleyiniz ve kütüphanesini import ediniz.
public class projeadiApplication.java içinde bulunan main methodunun altına aşağdaki kodları yapıştırın ve ve kütüphanesini import ediniz.
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
Eğer bir sebepten ötürü kütüphaneleri ideniz import etmiyorsa aşağıdaki satırları projenize ekleyebilirsiniz.
import org.springframework.context.annotation.Bean;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
4.Swagger kurulumu tamamlandı. kurulumu test etmek için projeyi çalıştıralım ve aşağıdaki adrese gidelim. Eğer port numarasında değişiklik yapmadı iseniz 8080 port numarası varsayılan olarak set edilecektir. Proje başlatıldığında hangi porttan çalıştığı görülmektedir.
http://localhost:8080/swagger-ui.html bu adrese gidildiğinde başarı ile gerçekleşti ise sizi aşağıdaki ekran karşılamaktadır.
Artık API nizde geliştirdiğiniz tüm methodları rahatlıkla tarayıcı üzerinden Swagger ile test edebilirsiniz.