Skip to content

Commit 9d36ee6

Browse files
committed
fix: 一些错误handler
1 parent 5db491e commit 9d36ee6

3 files changed

Lines changed: 22 additions & 5 deletions

File tree

‎.env.example‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ PGSSLMODE=require
88

99
# Spring Boot JDBC 连接(由上面的 PG 变量转换而来)
1010
SPRING_DATASOURCE_URL=jdbc:postgresql://ep-xxxx.ap-southeast-2.aws.neon.tech/neondb?sslmode=require
11-
SPRING_SQL_INIT_MODE=always
11+
# 首次部署时设为 always 以初始化 schema.sql,之后改为 never
12+
SPRING_SQL_INIT_MODE=never
1213

1314
# --- 本地开发用 Docker PostgreSQL(无 Neon 账号的开发者使用)---
1415
POSTGRES_DB=involution_hell
@@ -35,7 +36,8 @@ AUTH_URL=https://involutionhell.com
3536
# --- Actuator ---
3637
MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE=health,info,metrics
3738
MANAGEMENT_ENDPOINT_HEALTH_PROBES_ENABLED=true
38-
MANAGEMENT_ENDPOINT_HEALTH_SHOW_DETAILS=always
39+
# when-authorized 生产推荐;开发时可改为 always
40+
MANAGEMENT_ENDPOINT_HEALTH_SHOW_DETAILS=when-authorized
3941

4042
# --- 网关(Caddy)---
4143
CADDY_HTTP_PORT=80

‎src/main/java/com/involutionhell/backend/openai/service/HttpOpenAiStreamGateway.java‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,18 @@
1313
import java.util.LinkedHashMap;
1414
import java.util.List;
1515
import java.util.Map;
16+
import jakarta.annotation.PostConstruct;
17+
import org.slf4j.Logger;
18+
import org.slf4j.LoggerFactory;
1619
import org.springframework.stereotype.Service;
1720
import org.springframework.util.StringUtils;
1821
import tools.jackson.databind.ObjectMapper;
1922

2023
@Service
2124
public class HttpOpenAiStreamGateway implements OpenAiStreamGateway {
2225

26+
private static final Logger log = LoggerFactory.getLogger(HttpOpenAiStreamGateway.class);
27+
2328
private final HttpClient httpClient;
2429
private final ObjectMapper objectMapper;
2530
private final OpenAiProperties properties;
@@ -36,6 +41,13 @@ public HttpOpenAiStreamGateway(
3641
this.properties = properties;
3742
}
3843

44+
@PostConstruct
45+
void warnIfNotConfigured() {
46+
if (!StringUtils.hasText(properties.apiKey())) {
47+
log.warn("[OpenAI] OPENAI_API_KEY 未配置,/openai/responses/stream 调用时将返回 400 错误");
48+
}
49+
}
50+
3951
/**
4052
* 校验 OpenAI 地址、密钥和模型配置是否满足调用要求。
4153
*/

‎src/main/resources/application.properties‎

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ spring.datasource.password=${PGPASSWORD:}
99
spring.datasource.driver-class-name=org.postgresql.Driver
1010

1111
# 初始化配置
12-
spring.sql.init.mode=${SPRING_SQL_INIT_MODE:always}
12+
# 默认 never:生产环境不在每次启动时执行 schema.sql
13+
# 首次部署或本地初始化时设置 SPRING_SQL_INIT_MODE=always
14+
spring.sql.init.mode=${SPRING_SQL_INIT_MODE:never}
1315
spring.sql.init.schema-locations=classpath:schema.sql
1416

1517
# Spring Security OAuth2 Client 配置 (仅保留占位符)
@@ -28,9 +30,10 @@ justauth.type.github.redirect-uri=${AUTH_URL:http://localhost:3000}/api/auth/cal
2830
# JWT ?? (Temporarily Commented Out for JustAuth Migration)
2931
# jwt.secret-key=${AUTH_SECRET:involutionhell-default-secret-key-32-chars-long}
3032

31-
# Actuator ??
33+
# Actuator
3234
management.endpoints.web.exposure.include=${MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE:health,info,metrics}
33-
management.endpoint.health.show-details=always
35+
# when-authorized:未认证请求只看到 UP/DOWN,不暴露数据库、磁盘等细节
36+
management.endpoint.health.show-details=${MANAGEMENT_ENDPOINT_HEALTH_SHOW_DETAILS:when-authorized}
3437

3538
# AI 配置 (还原为您之前的结构,取消我擅自建议的默认值)
3639
openai.api-key=${OPENAI_API_KEY:}

0 commit comments

Comments
 (0)