Files
juzi/backend-java
xsl f5c416dd9d feat(sae): add cloud-gateway adapters and forward mode (0.0.4)
SAE 上这一版只做云网关适配层:/api/taobao/* 字节级透传给 1me.xajuzi.com 上
现有的 H5 后端(旷视调用、评分、报告都留在那边),Java 不再重写测肤逻辑。

- TaobaoEnvelope:客户端要求的 data.ok + data.http_status 信封(HTTP 恒 200)
- TaobaoAuthController:challenge/session/me/logout(native 模式)
- TaobaoSessionService:一次性 challenge + 30 天 Bearer token,按 open_id 限流
  (网关后面所有请求同源 IP,按 IP 计数会变成全站共享 30 次/分钟)
- TaobaoForwardController:mode=forward 时透传,保留原始 query 与 body 字节
  (签名覆盖原始 body,重新序列化会让验签失败)
- TaobaoSignatureVerifier:缺省 sign_method 按 md5 校验
- 打包名固定为 taobao-mvp-backend-0.0.4-forward,SAE 不需要任何环境变量
- pom 版本 0.0.4;mvn test 11/11(新增 8 个用例)
- docs:更新 SAE 操作步骤,新增本次交接文档
2026-11-01 23:30:35 +08:00
..

taobao-mvp-backend

淘宝小程序 + 淘宝云网关 + SAE 的最小 Java 后端验证工程。

快速启动

Set-ExecutionPolicy -Scope Process Bypass
. D:\juzi\tools\env-java.ps1
cd D:\juzi\backend-java
mvn -DskipTests package
java -jar target\taobao-mvp-backend-0.0.2.jar

启动后:

接口

方法 路径 作用
GET /actuator/health SAE 健康检查
GET/POST /api/taobao/ping 返回统一 envelope,验证连通性
POST /api/taobao/whoami 返回网关注入的 query 参数(open_id/app_key/env/sign 等)
POST /api/taobao/echo 原样回显 JSON body,验证 POST/Content-Type

统一响应:

{"success":true,"data":{"ok":true}}

失败:

{"success":false,"errorCode":"SIGN_INVALID","errorMessage":"..."}

环境变量(SAE)

变量 本地 云端
TAOBAO_APP_KEY 可空 淘宝开放平台 AppKey
TAOBAO_APP_SECRET 可空 AppSecret,只放服务端
TAOBAO_VERIFY_SIGN false true

云端必须用 TAOBAO_VERIFY_SIGN=true,否则任何知道地址的人都能直接调用接口。

说明

  • 本工程只实现连通性 MVP:ping/whoami/echo。
  • 真实的 challenge/session/photo/skin-analyze/analysis/reports 尚未迁移;现有 Node 实现见 ../h5/lib/taobao-routes.js,可作为 Java 迁移的接口契约参考。
  • SAE 部署时选 JAR 包部署 + 标准 Java 应用运行环境 + Open JDK 17,不要选 WAR/Tomcat/EDAS-Container。
  • 端口 8080,健康检查 /actuator/health,至少 2 实例。