Spring Boot + Swagger 3.0.0 적용

onAuspicious·2022년 1월 12일
2

Spring

목록 보기
1/1

1. Swagger가 뭘까?

Swagger 는 OAS(Open Api Specification) 입니다.

개발자들의 필수 과제인 API 문서화를 쉽게 할 수 있도록 도와주며, 파라미터를 넣어서 실제로 어떤 응답이 오는지 테스트도 할 수 있습니다.

개발을 진행하는데 필수 과제인 API 문서화를 쉽게 자동화 할 수 있도록 도와주고, 페이지에서 파라미터를 넣어서 실제 응답을 테스트 할 수도 있습니다.

2. 적용

해당 포스트에서는 Spring Boot 2.5.8, Swagger 3.0.0 을 바탕으로 진행했습니다.

2.1 의존성 추가

아래 내용을 build.gradle 에 추가해 줍시다.

// swagger dependency
implementation "io.springfox:springfox-boot-starter:3.0.0"
implementation "io.springfox:springfox-swagger-ui:3.0.0"

2.2 Configuration 클래스 추가

@Configuration
public class SwaggerConfig {

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.OAS_30)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }
}
  • Docket: Swagger 설정의 핵심이 되는 Bean
  • useDefaultResponseMessages: Swagger 에서 제공해주는 기본 응답 코드 (200, 401, 403, 404). true 로 설정하면 기본 응답 코드를 노출
  • apis: api 스펙이 작성되어 있는 패키지 (Controller) 를 지정
  • paths: apis 에 있는 API 중 특정 path 를 선택

2.3 Controller 생성

테스트용으로 간단한 Controller를 만들어 봅시다.

@RestController
public class BasicController {

    @GetMapping("/api/hello1")
    public String hello1() {
        return "hello";
    }

    @GetMapping("/api/hello2")
    public String hello2(@RequestParam String param) {
        return param;
    }
}

2.4 swagger 접속

로컬에서 서버를 띄우고 URL에 접속해봅시다.

👏 참고: swagger 3.x 버전과 2.x 버전의 접속 URL이 약간 다릅니다.

3. 결과 확인

  • API 정보를 잘 가져오는 것을 볼 수 있습니다.

Reference

profile
Beauty of Spring and JPA

0개의 댓글