본문 바로가기

IT/SPRING BOOT

JWT Springdoc-openapi 전역 설정

Springdoc-openapi 전역 설정 (기존 Swagger)

스프링에서 API문서를 작성할 때 Swagger사용시 스프링 2.6.x에서 에러가 발생해서 이 기회에 그냥 바꾸기로 함

기존 dependency

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

변경 dependency

implementation ("org.springdoc:springdoc-openapi-ui:1.6.8")

dependency 하나만 주입하면 된다.

OpenApiConfig 파일 설정

@Configuration
class OpenApi30Config {
    @Bean
    fun customOpenAPI(): OpenAPI? {
​
        val jwtSchemeName = "jwtAuth"
        val securityRequirement: SecurityRequirement = SecurityRequirement().addList(jwtSchemeName)
        val components = Components()
            .addSecuritySchemes(
                jwtSchemeName, SecurityScheme()
                    .name(jwtSchemeName)
                    .type(SecurityScheme.Type.HTTP) // HTTP 방식
                    .scheme("bearer")
                    .bearerFormat("JWT")
            )
​
        return OpenAPI()
            .addSecurityItem(securityRequirement)
            .components(components)
    }
}
  • info 설정도 해줄 수 있는데 나는 따로 별로 필요없어서 하지 않았다.
  • 이렇게 하고 swagger url로 접속해 보면 전역에 인증 설정을 할 수 있었다.