공부메모 & 오류해결/유틸

[Spring Boot + Swagger] Swagger 적용하기 [SpringBoot 3.x.x 버전]

남건욱 2023. 12. 21. 11:59

목차

    반응형

    1. Swagger

    API를 설계, 빌드, 문서화하고 테스트하는 데 사용되는 강력한 프레임워크. 주로 RESTful 웹 서비스의 API를 문서화하는 데 사용되며, 다양한 언어와 플랫폼 간의 통합을 용이하게 만들어 준다.

     

    1.1 Swagger 주요 기능

    - API 문서화

    - API 시각화

    - 테스트 기능

    - 다양한 포멧 지원

     

     

    2. 사용 버젼

    - Spring Boot 3.1.3

    - SpringDoc-OpenApi v2.1.0

     

     

    3. 프로젝트에 Swagger 적용하기

     

    3.1 의존성 추가

        // swagger
        implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: '2.1.0'

    build.gradle에 의존성을 추가

     

    3.2 Config 작성

    @Configuration
    public class SwaggerConfig {
        @Bean
        public GroupedOpenApi publicApi() { //경로 설정, 여러개 만들 수 있음
            return GroupedOpenApi.builder()
                    .group("myApp")
                    .pathsToMatch("/**")
                    .build();
        }
    
        @Bean
        public OpenAPI MyOpenApi() {
            return new OpenAPI()
                    .info(new Info().title("SongGPT")
                            .description("JPEOPLE 프로젝트의 API 명세서입니다.")
                            .version("v2.1.0")
                            .license(new License().name("Apache 2.0").url("http://springdoc.org")));
        }
    }

     

     

    4. 실행해보기

    http://주소:포트/swagger-ui/index.html

    서버를 실행시킨 뒤 본인의 주소와 포트를 입력하고 들어가면 된다.

     

    이런 식으로 api들을 확인할 수 있다.

     

     

     

     

    테스트도 가능하다.

     

     

     

    5. 오류 발생 시

    .requestMatchers("/swagger*/**", "/v3/api-docs/**").permitAll()

    403 에러가 뜬다면 SecurityFilterChain 설정 부분에 위 코드를 붙여주면 된다.

     

    반응형
    프로필사진

    남건욱's 공부기록