5.0.0 • Published 9 months ago
@zenweb/result v5.0.0
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,
});
5.0.0
9 months ago
4.1.4
10 months ago
3.15.0
10 months ago
3.14.0
11 months ago
4.1.3
10 months ago
4.1.0
10 months ago
4.0.0
10 months ago
4.1.2
10 months ago
4.1.1
10 months ago
3.13.1
11 months ago
3.13.0
1 year ago
3.12.7
1 year ago
3.12.8
1 year ago
3.12.3
2 years ago
3.12.2
2 years ago
3.12.5
2 years ago
3.12.4
2 years ago
3.12.6
2 years ago
3.9.0
2 years ago
3.11.0
2 years ago
3.10.0
2 years ago
3.12.1
2 years ago
3.12.0
2 years ago
3.11.1
2 years ago
3.8.0
2 years ago
3.7.2
2 years ago
3.4.0
2 years ago
3.7.1
2 years ago
3.6.2
2 years ago
3.7.0
2 years ago
3.6.1
2 years ago
3.6.0
2 years ago
3.5.0
2 years ago
3.4.1
2 years ago
3.3.1
2 years ago
3.3.0
2 years ago
3.2.1
2 years ago
3.2.0
2 years ago
3.1.0
2 years ago
3.0.1
2 years ago
3.3.2
2 years ago
3.0.0
2 years ago
2.3.5
2 years ago