Skip to content

Commit

Permalink
Update: 배포환경을 위한 swagger 동적 scheme url port 적용
Browse files Browse the repository at this point in the history
  • Loading branch information
BYEONGRYEOL committed Jun 5, 2024
1 parent abdbd29 commit 6258963
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 34 deletions.
22 changes: 11 additions & 11 deletions sql/setup-dev.sql
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
use genti;

set @adminId := 1;
set @userId := 2;
set @emptyUserId := 3; # 아무 사진 생성 요청하지 않은 유저의 UserId
set @creatorUserId := 4; # 공급자 UserId
set @emptyCreatorId := 5; # 사진 생성 요청 매칭되지 않은 공급자의 UserId
set @oauthFirstJoinUserId := 6; # 첫 회원가입 유저 - FE에서는 크게 신경쓸 일 없을 것 같긴 합니다.
set @deactivatedUserId := 7; # 비활성화된 유저의 UserId
set @deactivatedCreatorId := 8; # 비활성화된 공급자의 CreatorId

set @creatorId := 1; # 공급자의 CreatorId
set @adminCreatorId := 3; # 어드민의 공급자 id
# set @adminId := 1;
# set @userId := 2;
# set @emptyUserId := 3; # 아무 사진 생성 요청하지 않은 유저의 UserId
# set @creatorUserId := 4; # 공급자 UserId
# set @emptyCreatorId := 5; # 사진 생성 요청 매칭되지 않은 공급자의 UserId
# set @oauthFirstJoinUserId := 6; # 첫 회원가입 유저 - FE에서는 크게 신경쓸 일 없을 것 같긴 합니다.
# set @deactivatedUserId := 7; # 비활성화된 유저의 UserId
# set @deactivatedCreatorId := 8; # 비활성화된 공급자의 CreatorId
#
# set @creatorId := 1; # 공급자의 CreatorId
# set @adminCreatorId := 3; # 어드민의 공급자 id
insert ignore into user (id, created_at, modified_at, deleted_at, email, email_verified, introduction,
last_login_social_platform, login_id, nickname, password, user_role, roles, user_status,
username, sex)
Expand Down
33 changes: 13 additions & 20 deletions src/main/java/com/gt/genti/other/config/SwaggerConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,47 +6,39 @@

import io.swagger.v3.oas.annotations.OpenAPIDefinition;
import io.swagger.v3.oas.annotations.info.Info;
import io.swagger.v3.oas.annotations.servers.Server;
import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme;
import io.swagger.v3.oas.models.servers.Server;

@OpenAPIDefinition(
info = @Info(
title = "GenTi API",
description = "1. 인증 관련 우측에 Authorize 버튼누르고 value에 발급받은 테스트용 토큰 앞에 prefix 'Bearer '를 빼고 입력해주시면 됩니다.",
version = "v1"
),
servers = {@Server(url = "/", description = "Default Server URL")}
)
)
@Configuration
public class SwaggerConfig {

private final String BEARER_TOKEN_PREFIX = "Bearer"; // Bearer직접 넣어서 주는걸로 결정
private final String securityJwtName = "JWT";
@Value("${springdoc.url.scheme}")
private String urlScheme;

// private final String deployUrl;
// private final String localUrl;
@Value("${springdoc.url.host}")
private String urlHost;

// public SwaggerConfig(
// @Value("${springdoc.url.deploy}") final String deployUrl,
// @Value("${springdoc.url.local}") final String localUrl
// ) {
// this.deployUrl = deployUrl;
// this.localUrl = localUrl;
// }
@Value("${springdoc.url.port}")
private String urlPort;

//
@Bean
public OpenAPI openAPI() {
// final io.swagger.v3.oas.models.servers.Server deployServer = new io.swagger.v3.oas.models.servers.Server();
// deployServer.setUrl(deployUrl);
// deployServer.description("운영 환경 서버 url");
//
// final io.swagger.v3.oas.models.servers.Server localServer = new io.swagger.v3.oas.models.servers.Server();
// localServer.setUrl(localUrl);
// localServer.description("로컬(BE용) 환경 서버 url");

String serverUrl = String.format("%s://%s:%s", urlScheme, urlHost, urlPort);
io.swagger.v3.oas.models.servers.Server server = new Server().url(serverUrl)
.description("Generated Server URL");

final SecurityRequirement securityRequirement = new SecurityRequirement().addList(securityJwtName);
Components components = new Components()
Expand All @@ -57,6 +49,7 @@ public OpenAPI openAPI() {
.bearerFormat(securityJwtName));

return new OpenAPI()
.addServersItem(server)
.addSecurityItem(securityRequirement)
.components(components);
}
Expand Down
3 changes: 0 additions & 3 deletions src/main/resources/application-common.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,5 @@ springdoc:
model-and-view-allowed: true
paths-to-match:
- /api/**
url:
deploy: https://genti.kr
local: http://127.0.0.1


0 comments on commit 6258963

Please sign in to comment.