@zenweb/result
TypeScript icon, indicating that this package has built-in type declarations

5.0.0 • Public • Published

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,
});

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
5.0.096latest

Version History

VersionDownloads (Last 7 Days)Published
5.0.096
4.1.41
4.1.31
4.1.21
4.1.11
4.1.01
4.0.01
3.15.01
3.14.01
3.13.11
3.13.01
3.12.81
3.12.71
3.12.61
3.12.51
3.12.41
3.12.31
3.12.21
3.12.10
3.12.01
3.11.11
3.11.01
3.10.01
3.9.01
3.8.01
3.7.21
3.7.12
3.7.01
3.6.21
3.6.11
3.6.01
3.5.01
3.4.11
3.4.01
3.3.21
3.3.11
3.3.01
3.2.11
3.2.01
3.1.00
3.0.11
3.0.01
2.3.51

Package Sidebar

Install

npm i @zenweb/result

Weekly Downloads

137

Version

5.0.0

License

MIT

Unpacked Size

16.2 kB

Total Files

10

Last publish

Collaborators

  • yefei777