因为项目添加了 NestJS Response Interceptor . 所以接口的返回结果都会经过一层包装处理,为返回数据添加上 code
、success
和 data
字段:
但是在 Controller 中使用 Swagger 时,定义 ApiOkResponse 总不能每次都定义返回结果包含 code 、success这些字段,
这样写的话在 API 文档中只会有 UserEntity 类型,而不会有 code
、success
字段,期望返回如下数据结构
可以通过自定义一个 Swagger 装饰器来实现
ApiResult
支持返回普通的 Object 结构,也支持返回分页数据结构,因为分页使用的是 NestJS Prisma 中使用分页扩展, 所以这里需要定义好 meta
类型,使用方式
API文档就变成了下面这样