{ "components": { "schemas": { "BreadthDataDto": { "properties": { "advancing": { "type": "number" }, "declining": { "type": "number" }, "unchanged": { "type": "number" } }, "required": ["advancing", "declining", "unchanged"], "type": "object" }, "BreadthResponseDto": { "properties": { "asOf": { "format": "date-time", "type": "string" }, "data": { "allOf": [{ "$ref": "#/components/schemas/BreadthDataDto" }], "nullable": true, "type": "object" }, "snapshotId": { "type": "string" }, "source": { "enum": ["tdx"], "type": "string" }, "status": { "enum": ["fresh", "delayed", "partial", "unavailable"], "type": "string" }, "warnings": { "items": { "type": "string" }, "type": "array" } }, "required": ["snapshotId", "asOf", "source", "status", "warnings", "data"], "type": "object" }, "DependencyHealthDto": { "properties": { "detail": { "type": "string" }, "status": { "enum": ["healthy", "unavailable", "disabled"], "type": "string" } }, "required": ["status", "detail"], "type": "object" }, "FundDataDto": { "properties": { "items": { "items": { "type": "string" }, "type": "array" } }, "required": ["items"], "type": "object" }, "FundsResponseDto": { "properties": { "asOf": { "format": "date-time", "type": "string" }, "data": { "allOf": [{ "$ref": "#/components/schemas/FundDataDto" }], "nullable": true, "type": "object" }, "snapshotId": { "type": "string" }, "source": { "enum": ["tdx"], "type": "string" }, "status": { "enum": ["fresh", "delayed", "partial", "unavailable"], "type": "string" }, "warnings": { "items": { "type": "string" }, "type": "array" } }, "required": ["snapshotId", "asOf", "source", "status", "warnings", "data"], "type": "object" }, "HealthDependenciesDto": { "properties": { "mysql": { "$ref": "#/components/schemas/DependencyHealthDto" }, "redis": { "$ref": "#/components/schemas/DependencyHealthDto" }, "rocketMq": { "$ref": "#/components/schemas/DependencyHealthDto" } }, "required": ["redis", "mysql", "rocketMq"], "type": "object" }, "HealthResponseDto": { "properties": { "checkedAt": { "format": "date-time", "type": "string" }, "dependencies": { "$ref": "#/components/schemas/HealthDependenciesDto" }, "process": { "enum": ["api"], "type": "string" }, "status": { "enum": ["healthy", "unavailable"], "type": "string" } }, "required": ["status", "process", "checkedAt", "dependencies"], "type": "object" }, "IndexQuoteDto": { "properties": { "changePercent": { "nullable": true, "type": "number" }, "code": { "type": "string" }, "direction": { "enum": ["up", "down", "flat"], "type": "string" }, "name": { "type": "string" }, "price": { "type": "number" }, "tradeDate": { "type": "string" } }, "required": ["code", "name", "price", "direction", "tradeDate"], "type": "object" }, "IndicesDataDto": { "properties": { "items": { "items": { "$ref": "#/components/schemas/IndexQuoteDto" }, "type": "array" } }, "required": ["items"], "type": "object" }, "IndicesResponseDto": { "properties": { "asOf": { "format": "date-time", "type": "string" }, "data": { "allOf": [{ "$ref": "#/components/schemas/IndicesDataDto" }], "nullable": true, "type": "object" }, "snapshotId": { "type": "string" }, "source": { "enum": ["tdx"], "type": "string" }, "status": { "enum": ["fresh", "delayed", "partial", "unavailable"], "type": "string" }, "warnings": { "items": { "type": "string" }, "type": "array" } }, "required": ["snapshotId", "asOf", "source", "status", "warnings", "data"], "type": "object" }, "SectorDataDto": { "properties": { "items": { "items": { "type": "string" }, "type": "array" } }, "required": ["items"], "type": "object" }, "SectorsResponseDto": { "properties": { "asOf": { "format": "date-time", "type": "string" }, "data": { "allOf": [{ "$ref": "#/components/schemas/SectorDataDto" }], "nullable": true, "type": "object" }, "snapshotId": { "type": "string" }, "source": { "enum": ["tdx"], "type": "string" }, "status": { "enum": ["fresh", "delayed", "partial", "unavailable"], "type": "string" }, "warnings": { "items": { "type": "string" }, "type": "array" } }, "required": ["snapshotId", "asOf", "source", "status", "warnings", "data"], "type": "object" }, "SummaryDataDto": { "properties": { "drivers": { "items": { "type": "string" }, "type": "array" }, "marketStatus": { "type": "string" }, "risks": { "items": { "type": "string" }, "type": "array" }, "sentimentStatus": { "type": "string" }, "verdict": { "type": "string" }, "volumeStatus": { "type": "string" } }, "required": [ "verdict", "marketStatus", "volumeStatus", "sentimentStatus", "drivers", "risks" ], "type": "object" }, "SummaryResponseDto": { "properties": { "asOf": { "format": "date-time", "type": "string" }, "data": { "allOf": [{ "$ref": "#/components/schemas/SummaryDataDto" }], "nullable": true, "type": "object" }, "snapshotId": { "type": "string" }, "source": { "enum": ["tdx"], "type": "string" }, "status": { "enum": ["fresh", "delayed", "partial", "unavailable"], "type": "string" }, "warnings": { "items": { "type": "string" }, "type": "array" } }, "required": ["snapshotId", "asOf", "source", "status", "warnings", "data"], "type": "object" } } }, "info": { "contact": {}, "description": "", "title": "A 股市场分析工具 API", "version": "0.0.8-draft" }, "openapi": "3.0.0", "paths": { "/api/v1/health": { "get": { "operationId": "HealthController_getHealth", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HealthResponseDto" } } }, "description": "" }, "503": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HealthResponseDto" } } }, "description": "" } }, "tags": ["health"] } }, "/api/v1/market-overview/breadth": { "get": { "operationId": "MarketOverviewController_getBreadth", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BreadthResponseDto" } } }, "description": "" } }, "tags": ["market-overview"] } }, "/api/v1/market-overview/funds": { "get": { "operationId": "MarketOverviewController_getFunds", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FundsResponseDto" } } }, "description": "" } }, "tags": ["market-overview"] } }, "/api/v1/market-overview/indices": { "get": { "operationId": "MarketOverviewController_getIndices", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IndicesResponseDto" } } }, "description": "" } }, "tags": ["market-overview"] } }, "/api/v1/market-overview/sectors": { "get": { "operationId": "MarketOverviewController_getSectors", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SectorsResponseDto" } } }, "description": "" } }, "tags": ["market-overview"] } }, "/api/v1/market-overview/summary": { "get": { "operationId": "MarketOverviewController_getSummary", "parameters": [], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SummaryResponseDto" } } }, "description": "" } }, "tags": ["market-overview"] } } }, "servers": [], "tags": [] }