接口契约_前后端_v0.1.md 6.6 KB

接口契约 · 前后端与算法服务 v0.1(冻结,2026-09-29)

本文是"重构前行为"的对拍基准(用户令 2026-09-29:前端完全 Vue、后端完全 Java、算法 Python+FastAPI,三条线都要"确保与重构前一致")。表里的每一行都由 scripts/http_contract_audit.py 在线复核:方法与状态码必须一致,JSON 顶层键集合必须一致(值随数据变,不比)。

  • 网关 http://127.0.0.1:28084(对外唯一入口)· 分析组件 :18033 · CMS :18020 · 算法服务 :18050
  • 方法列 GET/POST = 实测返回 200;GET?/POST? = 该方法有响应但不是 200(多为缺参),— = 两法都不通(未实现/仅特定参数下可用)。

0 总览

  • 路径合计 53 条(其中 42 条至少一种方法返回 200),由 scripts/http_contract_probe.py 实测生成。
  • 算法服务端点同时提供 /docs(Swagger UI)与 /openapi.json(OpenAPI),Java/Vue 可直接据此生成客户端。
类别 路径 方法 状态 类型 字节 形状(首个 200 的顶层结构) 秒
网关前缀(统一入口)
/ GET/POST 200 text/html 300000 HTML: 观澜中文系统 · 详细分析 0.02
/algorithm GET 200 application/json 104 JSON keys: endpoints, ok, service, time, version 0.03
/cms GET 200 text/html 300000 HTML: 如东海上风电场 振动诊断 · 客户版 0.07
/detail GET 200 text/html 237214 HTML: 观澜 · 风电数据分析与决策支持 0.07
/sim GET 200 text/html 50998 HTML: 4MW 机组 整机联调仿真台 · 演示 0.04
/sim/sys GET 200 text/html 123455 HTML: 观澜 offshore-4-0-platform · 四系统联调 0.25
/viewer GET 200 text/html 4986 HTML: 整台风机 · 单元拆装工作台 0.02
分析组件页面
/v2 GET 200 text/html 236976 HTML: 观澜 · 风电数据分析与决策支持 0.06
/v2/snapshot — 404 - 0 — 0.0
分析组件接口 /api/*
/api/ask POST 200 application/json 23 JSON keys: err 0.02
/api/ask_models GET 200 application/json 137 JSON keys: models 0.0
/api/ask_status GET 200 application/json 173 JSON keys: answer, elapsed, err, lang, model, q, review, state 0.03
/api/channels GET 200 application/json 15799 JSON keys: A.功率, A.状态, A.转速, A.风况, B.偏航, B.冷却执行器, B.变桨, B.润滑液压 0.29
/api/curves GET 200 application/json 23767 JSON keys: figs, note, physics 1.15
/api/dq_findings GET 200 application/json 420 JSON keys: n, note, rows 0.2
/api/facts GET 200 application/json 3521 JSON keys: cards, contract_sha256, contract_version, generated 0.0
/api/fleet GET 200 application/json 230264 JSON keys: all_months, control, faults, fus, kpi, m8, m9, m9_pending 15.73
/api/maint_framework GET 200 application/json 7271 JSON keys: coverage, gaps, records, stages, systems, tiers 0.82
/api/maint_std GET 200 application/json 27035 JSON keys: batch, closure, discontinuity, recurrence, score 0.44
/api/maint_survey GET 200 application/json 7533 JSON keys: rows 0.17
/api/ont_chain GET 200 application/json 106 JSON keys: error, text 0.01
/api/ont_list GET 200 application/json 6081 JSON keys: rows 0.01
/api/ont_obj GET 200 application/json 39 JSON keys: err, links, obj 0.01
/api/ontology GET? 500 - 0 — 0.02
/api/problem GET? 500 - 0 — 0.01
/api/query GET? 500 - 0 — 0.01
/api/reload GET 200 application/json 87 JSON keys: files, ok, old_stamp, stamp 0.41
/api/rpt_compose — 404 - 0 — 0.01
/api/rpt_export GET 200 application/vnd.openxmlformats-officedocument.wordprocessingml.document 36875 — 15.44
/api/snapshot — 404 - 0 — 0.01
/api/turbine GET? 500 - 0 — 0.01
/api/vibcms GET 200 application/json 6858 JSON keys: action, date, diff, grades, overall, 时间范围, 窗 5.34
CMS 组件 /cms
/cms/api/agent — 404 - 0 — 0.03
/cms/api/agent_stream POST? 400 - 0 — 0.0
/cms/api/ask — 404 - 0 — 0.04
/cms/api/models GET 200 application/json 96 JSON keys: models, picked 0.02
/cms/api/plugins GET 200 application/json 4857 JSON list[17] item=desc,name,params 0.01
/cms/api/run POST 200 application/json 290 JSON keys: kind, text 0.01
/cms/api/views GET 200 application/json 2 JSON list[0] 0.01
算法服务(FastAPI)
/api/availability_summary GET 200 application/json 475 JSON keys: 台级损失top, 损失MWh, 时长h, 时间可用率_不含调度令, 物理上限核, 零本底 0.02
/api/curves POST? 405 - 0 — 0.04
/api/curves_check GET 200 application/json 676 JSON keys: Betz, λ叶尖速比, 齿比恒等 0.63
/api/endpoints GET 200 application/json 1929 JSON keys: count, items 0.0
/api/fusion GET 200 application/json 63235 JSON list[2] 3.31
/api/handoff GET 200 application/json 44403 JSON keys: calibration_updates_v1, detectability_prior, field_actions_v1, meta, 0.02
/api/matrix GET 200 application/json 40555 JSON keys: WTG01, WTG02, WTG03, WTG04, WTG05, WTG06, WTG07, WTG08 9.04
/api/pitch GET 200 application/json 34336 JSON list[2] 1.17
/api/problems GET 200 application/json 4983 JSON keys: 主控与传感网, 偏航, 发电机, 变桨, 变流器, 齿轮箱 9.58
/api/reconcile GET 200 application/json 1679 JSON keys: 主控与传感网, 主轴承, 发电机, 变流器, 齿轮箱 18.47
/api/reliability GET 200 application/json 3531 JSON keys: 口径, 外部类停机h, 总停机h, 窗, 表, 设备类停机h 1.07
/api/systems GET 200 application/json 859 JSON keys: SYSTEMS, TEMP2SYS 0.01
/docs GET 200 text/html 1021 HTML: 观澜 · 算法服务 - Swagger UI 0.01
/healthz GET 200 application/json 104 JSON keys: endpoints, ok, service, time, version 0.01