update: swagger-config 수정

This commit is contained in:
UNGGU0704 2025-06-13 17:36:56 +09:00
parent 1d1e8af396
commit 419ef81e31
3 changed files with 53 additions and 70 deletions

View File

@ -5,6 +5,7 @@ import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme;
import io.swagger.v3.oas.models.servers.Server;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@ -17,29 +18,21 @@ public class SwaggerConfig {
@Bean
public OpenAPI openAPI() {
return new OpenAPI()
.info(new Info()
.title("Analytics Service API")
.description("하이오더 분석 서비스 API 문서")
.version("1.0.0"));
}
/**
* JWT Bearer 토큰을 위한 Security Scheme 생성
*/
private SecurityScheme createAPIKeyScheme() {
return new SecurityScheme()
.type(SecurityScheme.Type.HTTP)
.scheme("bearer")
.bearerFormat("JWT")
.in(SecurityScheme.In.HEADER)
.name("Authorization")
.description("""
JWT 토큰을 입력하세요
final String securitySchemeName = "Bearer Authentication";
사용법:
1. 로그인 API로 토큰 발급
2. Bearer 접두사 없이 토큰만 입력
3. : eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOi...
""");
return new OpenAPI()
.addServersItem(new Server().url("/"))
.info(new Info()
.title("하이오더 AI 분석 서비스 API")
.description("데이터 수집, AI 피드백 생성, 분석 조회, 실행 계획 관리 등 AI 분석 관련 기능을 제공하는 API")
.version("1.0.0"))
.addSecurityItem(new SecurityRequirement()
.addList(securitySchemeName))
.components(new Components()
.addSecuritySchemes(securitySchemeName, new SecurityScheme()
.name(securitySchemeName)
.type(SecurityScheme.Type.HTTP)
.scheme("bearer")
.bearerFormat("JWT")));
}
}

View File

@ -1,5 +1,7 @@
package com.ktds.hi.member.config;
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.security.SecurityScheme;
@ -16,24 +18,21 @@ public class SwaggerConfig {
@Bean
public OpenAPI openAPI() {
final String securitySchemeName = "Bearer Authentication";
return new OpenAPI()
// .addServersItem(new Server().url("/"))
.addServersItem(new Server().url("/"))
.info(new Info()
.title("하이오더 회원 관리 서비스 API")
.description("회원 가입, 로그인, 취향 관리 등 회원 관련 기능을 제공하는 API")
.version("1.0.0"));
}
/**
* JWT Bearer 토큰을 위한 Security Scheme 생성
*/
private SecurityScheme createAPIKeyScheme() {
return new SecurityScheme()
.type(SecurityScheme.Type.HTTP)
.scheme("bearer")
.bearerFormat("JWT")
.in(SecurityScheme.In.HEADER)
.name("Authorization")
.description("JWT 토큰을 입력하세요 (Bearer 접두사 제외)");
.description("회원 가입, 로그인, 취향 관리, 구독 관리 등 회원 관련 기능을 제공하는 API")
.version("1.0.0"))
.addSecurityItem(new SecurityRequirement()
.addList(securitySchemeName))
.components(new Components()
.addSecuritySchemes(securitySchemeName, new SecurityScheme()
.name(securitySchemeName)
.type(SecurityScheme.Type.HTTP)
.scheme("bearer")
.bearerFormat("JWT")));
}
}

View File

@ -1,7 +1,9 @@
package com.ktds.hi.recommend.infra.config;
import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme;
import io.swagger.v3.oas.models.servers.Server;
import org.springframework.context.annotation.Bean;
@ -14,34 +16,23 @@ import org.springframework.context.annotation.Configuration;
@Configuration
public class SwaggerConfig {
@Bean
public OpenAPI openAPI() {
final String securitySchemeName = "Bearer Authentication";
return new OpenAPI()
// .addServersItem(new Server().url("/"))
.addServersItem(new Server().url("/"))
.info(new Info()
.title("하이오더 추천 서비스 API")
.description("사용자 취향 기반 매장 추천 및 취향 분석 관련 기능을 제공하는 API")
.version("1.0.0"));
}
/**
* JWT Bearer 토큰을 위한 Security Scheme 생성
*/
private SecurityScheme createAPIKeyScheme() {
return new SecurityScheme()
.type(SecurityScheme.Type.HTTP)
.scheme("bearer")
.bearerFormat("JWT")
.in(SecurityScheme.In.HEADER)
.name("Authorization")
.description("""
JWT 토큰을 입력하세요
사용법:
1. 로그인 API로 토큰 발급
2. Bearer 접두사 없이 토큰만 입력
3. : eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOi...
""");
.title("하이오더 취향 추천 서비스 API")
.description("사용자 취향 기반 매장 추천, 취향 분석, 추천 알고리즘 등 추천 관련 기능을 제공하는 API")
.version("1.0.0"))
.addSecurityItem(new SecurityRequirement()
.addList(securitySchemeName))
.components(new Components()
.addSecuritySchemes(securitySchemeName, new SecurityScheme()
.name(securitySchemeName)
.type(SecurityScheme.Type.HTTP)
.scheme("bearer")
.bearerFormat("JWT")));
}
}