pom.xml 的 <dependencies> 段增加 spring-boot-starter-actuator(由 Spring Boot BOM 托管版本)pom.xml 的 <dependencies> 段增加 org.springdoc:springdoc-openapi-ui:1.6.15pom.xml 移除孤立的 <springfox-boot-starter.version> property备注:mjava/pom.xml 的
<dependencies>为空,实际依赖在 parent pom 集中声明,已改为在 parent pom 增加。
mjava/src/main/java/com/malk/filter/TraceIdFilter.java:OncePerRequestFilter + MDC 写/清 + 响应头回写mjava/src/main/java/com/malk/core/MdcTaskDecorator.java:TaskDecorator 拷贝 MDC 到子线程AsyncConfig.java:getAsyncExecutor() 和 aliworkTaskExecutor 两个线程池都 setTaskDecorator(new MdcTaskDecorator())logback-spring.xml 的 log.pattern 在 [%thread] 后追加 [%X{traceId:-}]mjava/src/main/java/com/malk/config/OpenApiConfig.java:@ConditionalOnProperty(name="swagger.enable", havingValue="true") 条件加载application.yml 增加 springdoc.api-docs.enabled / springdoc.swagger-ui.enabled 与 swagger.enable 绑定application-dev.yml 设 swagger.enable: true 让开发环境默认开application.yml 增加 management.endpoints.web.exposure.include: health,info + management.endpoint.health.show-details: when-authorizedopenspec validate add-observability-foundation --strict 通过http://<host>:<port>/api/actuator/health 返回 {"status":"UP"}http://<host>:<port>/api/swagger-ui.html(dev profile)看到交互文档[traceId-32位十六进制] 字段curl -H "X-Trace-Id: test-123" ... 响应头回带 X-Trace-Id: test-123启动后最简验证脚本:
# 1. 健康检查
curl -i http://localhost:9001/dev/actuator/health
# 2. TraceId 自动生成
curl -i http://localhost:9001/dev/actuator/info | grep -i "x-trace-id"
# 3. TraceId 透传
curl -i -H "X-Trace-Id: my-custom-id" http://localhost:9001/dev/actuator/info | grep -i "x-trace-id"
# 4. Swagger UI
open http://localhost:9001/dev/swagger-ui.html