Cooper's devlog

6-6. Swagger 라이브러리를 통한 API 문서화 및 테스트 본문

Programming/Spring-boot

6-6. Swagger 라이브러리를 통한 API 문서화 및 테스트

cooper_dev 2020. 8. 3. 21:37

1. 강의 링크

https://www.youtube.com/watch?v=jhuWWLJHOBo&list=PLqaSEyuwXkSppQAjwjXZgKkjWbFoUdNXC&index=53


2. 학습 목표

Swagger 라이브러리를 활용해 웹 API를 문서화하고 관리하는 방법

 


3. 과정

ui없이 json 데이터를 확인 작업할 수 있는 library

swagger 설치하기

(1) pom.xml 해당 라이브러리 추가

1
2
3
4
5
6
7
8
9
10
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.6.1</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.6.1</version>
        </dependency>
 

 

(2) MySlippApplication 내용 추가

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package net.slipp;
 
import static springfox.documentation.builders.PathSelectors.regex;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
 
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
 
@SpringBootApplication
@EnableJpaAuditing
@EnableSwagger2
public class MySlippApplication {
 
    public static void main(String[] args) {
        SpringApplication.run(MySlippApplication.class, args);
    }
    
    @Bean
    public Docket newsApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("my-slipp")
                .apiInfo(apiInfo())
                .select()
                .paths(PathSelectors.ant("/api/**"))
                .build();
    }
     
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("My Slipp API")
                .description("My Slipp API")
                .termsOfServiceUrl("http://www-03.ibm.com/software/sla/sladb.nsf/sla/bm?Open")
                .contact("Niklas Heidloff")
                .license("Apache License Version 2.0")
                .licenseUrl("https://github.com/IBM-Bluemix/news-aggregator/blob/master/LICENSE")
                .version("2.0")
                .build();
    }
}
 
cs
  • EnableSwagger2 annotation 추가
  • @Bean 선언 및 하단 내용 추가

 

(3) swagger 작동 확인하기

  • localhost:8080/swagger-ui.html

해당 결과 값을 확인할 수 있다.

 

 

 

참조 링크 : https://springboot.tistory.com/23?category=636662

 

스웨거(Swagger) 2.0으로 스프링 부트 REST API 문서화하기

스웨거 2.0으로 스프링 부트 어플리케이션 API 문서화하기 Usage of Swagger 2.0 in Spring Boot Applications to document APIs (원문링크: http://heidloff.net/article/usage-of-swagger-2-0-in-spring-boot-..

springboot.tistory.com

 

Comments