3.12.8 • Published 3 months ago
@zenweb/result v3.12.8
result - 结果处理
控制器返回结果统一处理,默认返回格式为 JSON
依赖模块
- @zenweb/inject
配置项
配置项 | 类型 | 默认值 | 功能 |
---|---|---|---|
failCode | number | 无 | 默认失败代码 |
failStatus | number | 422 | 默认失败HTTP状态码 |
json.success | (ctx: Context, data?: unknown): unknown | return { data } | 成功结果包装 |
json.fail | (ctx: Context, err: ResultFail): unknown | return { err.code, err.data, err.message } | 错误结果包装 |
exposeUnexpected | boolean | false | 暴露意外错误信息。可以设置环境变量 EXPOSE_UNEXPECTED==1 开启 |
unexpectedStatus | number | 500 | 意外错误HTTP状态码 |
unexpectedCode | number | 500 | 意外错误代码 |
Core 挂载项
无
Context 挂载项
挂载项 | 类型 | 功能 |
---|---|---|
success | (data?: unknown): Promise | 成功,输出结果。(注意:代码会继续执行),如果需要等待结果包装需要 await |
全局方法
方法 | 类型 | 功能 |
---|---|---|
fail | (message: string): never | 直接输出错误消息 |
fail | (code: number, message?: string): never | 错误代码 + 错误消息 |
fail | (detail: ResultFailDetail): never | 失败,输出错误信息并终止代码执行(更多选项) |
可注入对象
- singleton
- RenderManager
演示
import { mapping, fail } from 'zenweb';
export class ResultController {
@mapping()
hello() {
return 'Hello';
}
@mapping()
error() {
fail('error info'); // 在调用 fail 方法后会直接跳出方法并输出
console.log('这行不会执行');
}
}
失败输出
fail(400); // 错误代码
fail('错误消息');
fail(400, '错误消息'); // 错误代码 + 消息
// 完全自定义
fail({
code: 123,
message: "自定义",
status: 200,
});
3.12.7
3 months ago
3.12.8
3 months ago
3.12.3
6 months ago
3.12.2
6 months ago
3.12.5
6 months ago
3.12.4
6 months ago
3.12.6
6 months ago
3.9.0
12 months ago
3.11.0
10 months ago
3.10.0
10 months ago
3.12.1
10 months ago
3.12.0
10 months ago
3.11.1
10 months ago
3.8.0
1 year ago
3.7.2
1 year ago
3.4.0
1 year ago
3.7.1
1 year ago
3.6.2
1 year ago
3.7.0
1 year ago
3.6.1
1 year ago
3.6.0
1 year ago
3.5.0
1 year ago
3.4.1
1 year ago
3.3.1
1 year ago
3.3.0
1 year ago
3.2.1
1 year ago
3.2.0
1 year ago
3.1.0
1 year ago
3.0.1
1 year ago
3.3.2
1 year ago
3.0.0
1 year ago
2.3.5
1 year ago