nestjs swagger3.0 mods为空
zlyyyy opened this issue · 1 comments
zlyyyy commented
What happens(发生了什么)?
swagger3.0接口数据如下,生成的lock文件中mods为空,service列表也没有
{
"openapi": "3.0.0",
"paths": {
"/api/getCurrentUserInfo": {
"get": {
"operationId": "UserController_getCurrentUserInfo",
"summary": "获取当前用户信息",
"parameters": [
{
"name": "token",
"in": "query",
"schema": {}
}
],
"responses": {
"200": {
"description": ""
}
},
"tags": [
"用户"
],
"security": [
{
"bearer": []
}
]
}
}
},
"info": {
"title": "接口信息",
"description": "接口文档",
"version": "1.0",
"contact": {}
},
"tags": [],
"servers": [],
"components": {
"securitySchemes": {
"bearer": {
"scheme": "bearer",
"bearerFormat": "JWT",
"type": "http"
},
"cookie": {
"type": "apiKey",
"in": "cookie",
"name": "atom-cookie"
}
},
"schemas": {
"LoginDto": {
"type": "object",
"properties": {
"username": {
"type": "string",
"description": "用户名"
},
"password": {
"type": "string",
"description": "密码"
}
},
"required": [
"username",
"password"
]
}
}
}
}
A clear and concise description of what the bug is(对错误的清晰而简明的描述).
Mini Showcase Repository(迷你展示库)
Provide a mini GitHub repository which can reproduce the issue(提供一个可以重现问题的小型 Github 存储库).
How To Reproduce(如何重现)
Steps to reproduce the behavior(重现行为的步骤): 1. 2.
Expected behavior(预期行为) 1. 2.
Context(上下文)
- pont Version:1.5.12
- Node Version:16.13.2
- Platform(操作系统平台):linux
FrankCheungDev commented
我的做法是,要做两个处理:
- 自定义数据获取方法
// pont-config.json
"fetchMethodPath": "./request"
// request.ts
import axios from 'axios';
export default async function (url: string): Promise<string> {
return axios.get(url).then((res) => {
const { tags, ...ext } = res.data; // 关键步骤,去掉tags,交给pont内部处理
return JSON.stringify(ext);
});
}
- nestjs的接口声明的tag,修改为或者增加一个英文tag
...
@ApiTags('登录模块', 'Login')
@Controller()
export class LoginController {
constructor(private loginService: LoginService, private utils: UtilService) {}
...