Dokumentasi API Swagger dan Spring Boot

Sekarang adalah zaman dimana Frontend dan Backend adalah dua hal yang terpisah. Source code yang berbeda, teknologi yang berbeda, bisa jadi di deploy di server yang berbeda pula. Dalam pembuatan aplikasi, tentu tim Frontend membutuhkan daftar API apa saja yang telah dibuat oleh tim Backend yang termasuk didalamnya URL, Request payload, response format, headers dan lain-lain. Untuk mempermudah kedua tim tersebut dalam pembuatan API sering kali dibutuhkan sebuah dokumentasi, salah satu dokumentasi yang harus ada yaitu Dokumentasi API. Ada banyak provider dokumentasi API, namun pada artikel ini kita akan bahas mengenai salah satu provider terbaik yaitu Swagger.

Pada artikel ini kita akan memasang Swagger pada aplikasi Spring Boot kita. Sehingga kita akan memiliki Dokumentasi API secara instan. Saya tidak akan membuat aplikasi dari nol, jadi silakan gunakan source code masing-masing. Atau kalian bisa ikuti artike ini untuk membuat aplikasi Spring Boot.

1. Menambahkan dependency Swagger
Maven

Tambahkan dependency berikut pada pom.xml

<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>3.0.0</version>
</dependency>

Gradle

Tambahkan dependency berikut pada build.gradle

implementation("io.springfox:springfox-boot-starter:3.0.0")
implementation("io.springfox:springfox-swagger-ui:3.0.0")

2. Konfigurasi Swagger pada aplikasi Spring

Kita bisa membuat file baru sebagai configuration file aplikasi kita.

@Configuration
@EnableSwagger2
@EnableWebMvc
class AppConfiguration {

    @Bean
    fun api() = Docket(DocumentationType.SWAGGER_2)
        .select()
        .apis(RequestHandlerSelectors.any())
        .paths(PathSelectors.any())
        .build()
}

3. Menjalankan Aplikasi

Setelah lengkap semua konfigurasi dan dependency, jalankan aplikasi kita. Kemudian, buka browser dan buka URL berikut

http://localhost:8080/swagger-ui/index.html

Akan terlihat tampilan seperti dibawah ini

Tampilan Swagger pada Localhost

Sebenarnya masih banyak provider API Documentation selain Swagger, bahkan dari Swagger sendiri masih banyak yang bisa kita explore. Next time kita bahas satu per satu ya.

Salam…

You Might Also Like

Leave a Reply

Your email address will not be published. Required fields are marked *