spring boot에 swagger 세팅

lovjgb·2024년 8월 13일

세팅을 위한 코드만 간략하게 적어두겠다.

1. build.gradle - dependencies 에 추가한다.

//build.gradle - dependencies 에 추가한다.
    implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0'

2. config 파일에 @Configuration 아래 내용을 추가한다

package com.example.haruplay.global.config;

import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme;
import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class SwaggerConfig {

    @Bean
    public OpenAPI openAPI() {
        String jwt = "JWT";
        SecurityRequirement securityRequirement = new SecurityRequirement().addList(jwt);
        Components components = new Components().addSecuritySchemes(jwt, new SecurityScheme()
                // 보안 스키마 이름 정의
                .name(jwt)
                // HTTP Bearer Token 방식 사용
                .type(SecurityScheme.Type.HTTP)
                .scheme("bearer")
                // token 형식 : JWT
                .bearerFormat("JWT")
        );
        return new OpenAPI()
                .components(new Components())
                .info(apiInfo())
                .addSecurityItem(securityRequirement)
                .components(components);
    }
    private Info apiInfo() {
        return new Info()
                .title("HaruPlay API") // API의 제목
                .description("HaruPlay API Swagger UI") // API에 대한 설명
                .version("1.0.0"); // API의 버전
    }
}

https://velog.io/@gmlstjq123/SpringBoot-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EC%97%90-Swagger-UI-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0

profile
lovjgb

0개의 댓글