参数校验错误
-{
+
+{
"code": 10001,
"message": "参数校验失败",
"data": {
@@ -36,7 +37,8 @@
}
]
}
-}
+}
field
@@ -55,7 +57,8 @@
业务错误
-{
+
+{
"code": 20001,
"message": "余额不足",
"data": {
@@ -64,7 +67,8 @@
"shortfall": 49.00,
"suggestion": "请充值后重试"
}
-}
+}
✓ 返回当前状态数据,便于前端展示
✓ 提供 suggestion 给出解决建议
@@ -75,11 +79,7 @@
错误码分层设计
-
+
-
{{ layer.range }}
{{ layer.name }}
@@ -88,7 +88,9 @@
{{ layer.desc }}
错误码从外到内:系统 → 服务 → 业务 → 认证 → 参数
+
+ 错误码从外到内:系统 → 服务 → 业务 → 认证 → 参数
+
@@ -164,7 +166,9 @@
@@ -184,11 +188,36 @@ const tabs = [
]
const layers = [
- { range: '50001-59999', name: '系统层', example: '50001 数据库异常', desc: '基础设施问题' },
- { range: '40001-49999', name: '服务层', example: '40001 第三方服务超时', desc: '外部依赖问题' },
- { range: '30001-39999', name: '认证层', example: '30001 未登录', desc: '身份权限问题' },
- { range: '20001-29999', name: '业务层', example: '20001 余额不足', desc: '业务规则校验' },
- { range: '10001-19999', name: '参数层', example: '10001 参数缺失', desc: '客户端输入问题' }
+ {
+ range: '50001-59999',
+ name: '系统层',
+ example: '50001 数据库异常',
+ desc: '基础设施问题'
+ },
+ {
+ range: '40001-49999',
+ name: '服务层',
+ example: '40001 第三方服务超时',
+ desc: '外部依赖问题'
+ },
+ {
+ range: '30001-39999',
+ name: '认证层',
+ example: '30001 未登录',
+ desc: '身份权限问题'
+ },
+ {
+ range: '20001-29999',
+ name: '业务层',
+ example: '20001 余额不足',
+ desc: '业务规则校验'
+ },
+ {
+ range: '10001-19999',
+ name: '参数层',
+ example: '10001 参数缺失',
+ desc: '客户端输入问题'
+ }
]
const examples = [
@@ -234,7 +263,7 @@ const examples = [
]
const currentExample = computed(() => {
- return examples.find(e => e.id === exId.value) || examples[0]
+ return examples.find((e) => e.id === exId.value) || examples[0]
})
@@ -434,7 +463,7 @@ const currentExample = computed(() => {
.http-compare {
flex-direction: column;
}
-
+
.http-arrow {
display: none;
}
diff --git a/docs/.vitepress/theme/components/appendix/api-design/ResponseStructureDemo.vue b/docs/.vitepress/theme/components/appendix/api-design/ResponseStructureDemo.vue
index 6268a5a..bb06bd1 100644
--- a/docs/.vitepress/theme/components/appendix/api-design/ResponseStructureDemo.vue
+++ b/docs/.vitepress/theme/components/appendix/api-design/ResponseStructureDemo.vue
@@ -29,7 +29,8 @@
{ "result": { "user": {...} } }
// 接口 C
-{ "user": {...} }
+{ "user": {...} }
- 错误信息要"机器可读 + 人类友好",便于前端统一处理
+ 错误信息要"机器可读 + 人类友好",便于前端统一处理
前端需要针对每个接口单独处理,代码冗余,容易出错
@@ -42,7 +43,8 @@
"message": "success",
"data": { ... },
"request_id": "req-xxx"
-}
+}
- request_id 用于问题追踪,建议使用 UUID v4 或雪花算法生成
+ request_id 用于问题追踪,建议使用 UUID v4 或雪花算法生成
-