/nestjs-template

nestjs-template 是一个 nestjs 初始化脚手架,提供了一些通用封装,减少重复工作量。

Primary LanguageTypeScript

nestjs-template

Introduction

nestjs-template 是一个 nestjs 初始化脚手架,提供了一些通用封装,减少重复工作量。

Features

目前实现的功能有:

  1. 统一返回数据结构

    {
      "data": {
        "msg": "hello"
      },
      "errCode": 0,
      "errMsg": "success"
    }
  2. 自定义业务 api 异常

    1. 默认 statusCode = 200

      // 抛出业务 api 异常(默认 statusCode = 200)
      @Get('/api-error')
      getApiError() {
        throw new ApiException(ApiErrCode.NOT_LOGIN);
      }

      response

      api-error

      {
        "errCode": 10000,
        "errMsg": "用户未登录"
      }
    2. 自定义 statusCode

      // 抛出业务 api 异常(自定义 statusCode)
      @Get('/api-forbidden')
      getApiForbidden() {
        throw new ApiException(ApiErrCode.NOT_LOGIN, HttpStatus.FORBIDDEN);
      }

      response

      api-forbidden

      {
        "errCode": 10000,
        "errMsg": "用户未登录"
      }

Todos

  • 统一返回数据结构
  • 自定义业务 api 异常
  • 管道-参数校验
  • 多环境配置文件区分
  • mysql curd 整合
  • 文件上传
  • 登录验证
  • 权限控制

References

  1. nestjs 统一返回格式
  2. nestjs web 开发整合
  3. whats-the-difference-between-interceptor-vs-middleware-vs-filter-in-nest-js
  4. Koa2 和 Express 中间件对比
  5. nestjs authentication
  6. BearerToken之JWT的介绍
  7. JSON Web Tokens vs. Session Cookies for Authentication
  8. Session vs Token Based Authentication
  9. NestJS Basic Auth and Sessions(值得一看)
  10. 使用jwt完成sso单点登录