From 2dfe9ee2ef0785b3d9e80d511efe2df9c007b13b Mon Sep 17 00:00:00 2001 From: caniro Date: Thu, 12 Jun 2025 22:11:15 +0900 Subject: [PATCH 1/4] =?UTF-8?q?chore:=20=EB=B6=88=ED=95=84=EC=9A=94=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index e7402301..9eda9878 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -40,8 +40,7 @@ spring: hibernate: jdbc: time_zone: Asia/Seoul -order: - tickers: BTC, TRUMP + server: forward-headers-strategy: native From a4e7992a8a2411a26c8cf29c9f2904e26a6d2aa6 Mon Sep 17 00:00:00 2001 From: caniro Date: Thu, 12 Jun 2025 22:20:10 +0900 Subject: [PATCH 2/4] =?UTF-8?q?config:=20Swagger=20Endpoint=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apiSwagger/SwaggerConfig.java | 25 ++++--------------- src/main/resources/application.yml | 9 ++++++- 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/cleanengine/coin/configuration/apiSwagger/SwaggerConfig.java b/src/main/java/com/cleanengine/coin/configuration/apiSwagger/SwaggerConfig.java index 8c4ee557..9c52f45d 100644 --- a/src/main/java/com/cleanengine/coin/configuration/apiSwagger/SwaggerConfig.java +++ b/src/main/java/com/cleanengine/coin/configuration/apiSwagger/SwaggerConfig.java @@ -3,41 +3,26 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -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; @Configuration public class SwaggerConfig { + @Bean public OpenAPI openAPI() { // API 기본 정보 설정 Info info = new Info() - .title("investFuture API Document") + .title("InvestFuture API Document") .version("1.0") - .description( - "환영합니다.\n") + .description("Private API 호출 시 Cookie에 직접 설정해주세요!\n") .contact(new io.swagger.v3.oas.models.info.Contact().email("billage.official@gmail.com")); - // JWT 인증 방식 설정 - String jwtScheme = "jwtAuth"; - SecurityRequirement securityRequirement = new SecurityRequirement().addList(jwtScheme); - Components components = new Components() - .addSecuritySchemes(jwtScheme, new SecurityScheme() - .name("Authorization") - .type(SecurityScheme.Type.HTTP) - .in(SecurityScheme.In.HEADER) - .scheme("Bearer") - .bearerFormat("JWT")); - // Swagger UI 설정 및 보안 추가 return new OpenAPI() .addServersItem(new Server().url("http://localhost:8080")) // 추가적인 서버 URL 설정 가능 - .components(components) - .info(info) - .addSecurityItem(securityRequirement); + .info(info); } + } \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 9eda9878..82271c26 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -27,7 +27,7 @@ spring: allowed-origins: http://localhost:63342,http://localhost:8080,http://localhost:5500,http://localhost:5173,https://investfuture.my endpoints: public: - paths: /api/login,/api/asset,/api/oauth2,/api/healthcheck,/api/coin/realtime,/api/coin/min,/api/minute-ohlc,/v3/api-docs,/swagger,/swagger-ui,/swagger-ui.html,/swagger-resources,/webjars,/h2-console,/favicon.ico,/actuator,/test + paths: /api/login,/api/asset,/api/oauth2,/api/healthcheck,/api/coin/realtime,/api/coin/min,/api/minute-ohlc,/api/swagger,/h2-console,/actuator,/test websocket: paths: /api/coin/min,/api/coin/realtime,/api/coin/orderbook jwt: @@ -41,6 +41,13 @@ spring: jdbc: time_zone: Asia/Seoul +springdoc: + api-docs: + path: /api/swagger/v3/api-docs + swagger-ui: + path: /api/swagger/swagger-ui.html + url: /api/swagger/v3/api-docs + server: forward-headers-strategy: native From aa44b7dac2f598d83ca9db8b9a46a76ef5cb7972 Mon Sep 17 00:00:00 2001 From: caniro Date: Thu, 12 Jun 2025 22:24:53 +0900 Subject: [PATCH 3/4] =?UTF-8?q?config:=20WebSocket=20Endpoint=EB=8A=94=20?= =?UTF-8?q?=ED=99=98=EA=B2=BD=EC=84=A4=EC=A0=95=EC=9D=84=20=EC=B0=B8?= =?UTF-8?q?=EC=A1=B0=ED=95=98=EB=8F=84=EB=A1=9D=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../coin/configuration/WebSocketConfig.java | 17 +++++------------ src/main/resources/application.yml | 2 +- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/cleanengine/coin/configuration/WebSocketConfig.java b/src/main/java/com/cleanengine/coin/configuration/WebSocketConfig.java index 8c34c4bd..2341cfd7 100644 --- a/src/main/java/com/cleanengine/coin/configuration/WebSocketConfig.java +++ b/src/main/java/com/cleanengine/coin/configuration/WebSocketConfig.java @@ -1,6 +1,7 @@ package com.cleanengine.coin.configuration; +import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.springframework.messaging.simp.config.MessageBrokerRegistry; import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker; @@ -11,14 +12,8 @@ @EnableWebSocketMessageBroker public class WebSocketConfig implements WebSocketMessageBrokerConfigurer { - private static final String[] ALLOWED_ORIGINS = { - "http://localhost:63342", - "http://localhost:63343", - "http://localhost:8080", - "http://localhost:5500", - "http://localhost:5173", - "https://investfuture.my" - }; + @Value("${spring.security.allowed-origins}") + private String[] allowedOrigins; @Override public void configureMessageBroker(MessageBrokerRegistry config) { @@ -34,9 +29,7 @@ public void registerStompEndpoints(StompEndpointRegistry registry) { private void registerEndpoint(StompEndpointRegistry registry, String endpoint) { registry.addEndpoint(endpoint) - .setAllowedOrigins(ALLOWED_ORIGINS); + .setAllowedOrigins(allowedOrigins); } -} - - +} \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 82271c26..fcca3b36 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -24,7 +24,7 @@ spring: token-uri: https://kauth.kakao.com/oauth/token user-info-uri: https://kapi.kakao.com/v2/user/me user-name-attribute: id - allowed-origins: http://localhost:63342,http://localhost:8080,http://localhost:5500,http://localhost:5173,https://investfuture.my + allowed-origins: http://localhost:63342,http://localhost:63343,http://localhost:8080,http://localhost:5500,http://localhost:5173,https://investfuture.my endpoints: public: paths: /api/login,/api/asset,/api/oauth2,/api/healthcheck,/api/coin/realtime,/api/coin/min,/api/minute-ohlc,/api/swagger,/h2-console,/actuator,/test From 0e7623e58541a643cd208b857770e041bd51deea Mon Sep 17 00:00:00 2001 From: caniro Date: Fri, 13 Jun 2025 13:15:53 +0900 Subject: [PATCH 4/4] =?UTF-8?q?config:=20React=20=EB=B9=8C=EB=93=9C=20?= =?UTF-8?q?=ED=99=98=EA=B2=BD(3000=20=ED=8F=AC=ED=8A=B8)=EC=9D=84=20CORS?= =?UTF-8?q?=20=EA=B2=BD=EB=A1=9C=EC=97=90=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index fcca3b36..88ad9a86 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -24,7 +24,7 @@ spring: token-uri: https://kauth.kakao.com/oauth/token user-info-uri: https://kapi.kakao.com/v2/user/me user-name-attribute: id - allowed-origins: http://localhost:63342,http://localhost:63343,http://localhost:8080,http://localhost:5500,http://localhost:5173,https://investfuture.my + allowed-origins: http://localhost:63342,http://localhost:63343,http://localhost:8080,http://localhost:5500,http://localhost:5173,http://localhost:3000,https://investfuture.my endpoints: public: paths: /api/login,/api/asset,/api/oauth2,/api/healthcheck,/api/coin/realtime,/api/coin/min,/api/minute-ohlc,/api/swagger,/h2-console,/actuator,/test