feat(api): wrap JSON responses in envelope

Add response envelope middleware to standardize JSON responses as
`{code,data,message}` with consistent business codes across endpoints.
Update Swagger annotations and tests to reflect the new response shape.

BREAKING CHANGE: API responses are now wrapped in a response envelope; clients must read payloads from `data` and handle `code`/`message` fields.
This commit is contained in:
zenfun
2026-01-10 00:15:08 +08:00
parent f400ffde95
commit 33838b1e2c
40 changed files with 771 additions and 371 deletions

View File

@@ -0,0 +1,12 @@
package api
// ResponseEnvelope is the standard wrapper for EZ-API JSON responses.
// Code is a stable business code string (e.g., ok, invalid_request, not_found).
// Message is empty for success and mirrors the top-level error for failures.
// Data holds the original response payload.
// swagger:model ResponseEnvelope
type ResponseEnvelope struct {
Code string `json:"code" example:"ok"`
Data any `json:"data" swaggertype:"object"`
Message string `json:"message" example:""`
}