sumeyyeakay / Spring-boot-projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Spring-boot-projects


Spring Boot Swagger

Web API geliştirmede en önemli ihtiyaçlardan biri dökümantasyon ihtiyacıdır. Çünkü API metodlarının ne işe yaradığı ve nasıl kullanıldığı dökümantasyon içerisinde olması gerekir. Bu dökümantasyon her zaman güncel tutulmalıdır. Bununla birlikte bu ihtiyacımızı giderecek swagger ortaya çıkmıştır.

  • Swagger'ın önemli bir amacı RestAPI'ler için bir arayüz sağlamaktır.

  • Swagger sitesinde bir çok programlama dili ve framework için kullanılması gereken yapı hakkında bilgi yer almaktadır.

  • Spring içinse SpringFox çıkarılmıştır.

  • Swagger ile gelen bir başka kullanım kolaylığı ise artık biz projelerimiz de Apı bilgilerimize Postman veya SoapUI üzerinden bakma mecburiyetimiz ortadan kalkmıştır. Bu işlemleri swagger üzerinden de gerçekleştirebilmekteyiz.

  • Dependency olarak projemize ekleyebiliriz.

  • <dependency>
          <groupId>io.springfox</groupId>
          <artifactId>springfox-swagger2</artifactId>
          <version>2.9.2</version>
      </dependency>
    
  • Projemizde gerekli ayarlamaları yaptıktan sonra projeyi ayağa kaldırdığımızda her zaman görmüş olduğumuz JSON formatında API değerlerimizi görürüz.

Screenshot 2020-09-05 16 04 46

Swagger ile;

  • Projemizde konsolda log kısmına baktığımızda Mapped URL path [/v2/api-docs] ...bize böyle bir değer vermektedir. verdiği bu path bizim Swagger dokümantasyonumuzdur.
  • Bu URL'e gitmek için; http://localhost:8080/v2/api-docs gideriz.

Screenshot 2020-09-05 15 46 36

  • Bunu istersek Swaggerın bize sunmuş olduğu Swagger Editör ile görüntüleyebiliriz. Bunun için https://editor.swagger.io/ adresine elde ettiğimiz API dökümantasyonunu ekliyoruz.

Screenshot 2020-09-05 15 44 34

  • Bu alanda controller içinde eklediğimiz get ve post işlemlerini yapabiliyoruz. Tercihe göre daha fazla işlem de projemize ekleyebilir ve bu ekrandan kontrolünü yapmış oluruz.

Swagger UI

  • Swagger'ın bize sunmuş olduğu bir başka güzellik ise direk projemizi swagger-ui arayüzü ile kullanmamızı da sağlayabiliyor.
  •  <dependency>
          <groupId>io.springfox</groupId>
          <artifactId>springfox-swagger-ui</artifactId>
          <version>2.9.2</version>
      </dependency>
    
  • Kullanımı ise http://localhost:8080/swagger-ui.html#/path-controller adresine giderek daha düzgün bir arayüze sahip olarak aynı işlemleri gerçekleştirebiliyor olmamızdır.

Screenshot 2020-09-05 15 53 43

About


Languages

Language:Java 100.0%