5.0.0 • Published 11 months ago

@zenweb/result v5.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
11 months ago

result - 结果处理

控制器返回结果统一处理,默认返回格式为 JSON

依赖模块

  • @zenweb/inject

配置项

配置项类型默认值功能
failCodenumber默认失败代码
failStatusnumber422默认失败HTTP状态码
json.success(ctx: Context, data?: unknown): unknownreturn { data }成功结果包装
json.fail(ctx: Context, err: ResultFail): unknownreturn { err.code, err.data, err.message }错误结果包装
exposeUnexpectedbooleanfalse暴露意外错误信息。可以设置环境变量 EXPOSE_UNEXPECTED==1 开启
unexpectedStatusnumber500意外错误HTTP状态码
unexpectedCodenumber500意外错误代码

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

11 months ago

4.1.4

12 months ago

3.15.0

1 year ago

3.14.0

1 year ago

4.1.3

12 months ago

4.1.0

1 year ago

4.0.0

1 year ago

4.1.2

1 year ago

4.1.1

1 year ago

3.13.1

1 year 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

3 years ago

3.3.2

2 years ago

3.0.0

3 years ago

2.3.5

3 years ago