5.0.0 • Published 9 months ago

@zenweb/result v5.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
9 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

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