Я использую гнездо js и swagger в качестве документации, но модуль Swagger игнорирует setGlobalPrefix (). в моем environemnt префикс api API_PREFIX = / api / v2, у меня нет проблем при тестировании с почтальоном, потому что конечные точки / url работает, что http://localhost: 5000 / api / v2 / user / profile
, но swagger не может получить префикс / api / v2, URL запроса swagger равен http://localhost: 5000 / user / profile , что неверно.
Any идея? Спасибо за любую помощь.
настройки
```const SWAGGER_PREFIX = '/docs';
async function bootstrap(): Promise<void> {
const app = await NestFactory.create(AppModule);
if (!process.env.SWAGGER_ENABLE || process.env.SWAGGER_ENABLE === '1') {
// eslint-disable-next-line @typescript-eslint/no-use-before-define
createSwagger(app);
}
app.use(bodyParser.json());
app.use(helmet());
app.use(
cors({
origin: process.env.API_CORS || '*'
})
);
app.setGlobalPrefix(process.env.API_PREFIX || API_DEFAULT_PREFIX);
const logInterceptor = app.select(CommonModule).get(LogInterceptor);
app.useGlobalInterceptors(logInterceptor);
await app.listen(process.env.API_PORT || API_DEFAULT_PORT);
}
function createSwagger(app: INestApplication) {
const version = require('../package.json').version || '';
const options = new DocumentBuilder()
.setTitle(SWAGGER_TITLE)
.setDescription(SWAGGER_DESCRIPTION)
.setVersion(version)
.setBasePath(process.env.API_PREFIX || API_DEFAULT_PREFIX)
.addBearerAuth()
.build();
const document = SwaggerModule.createDocument(app, options);
SwaggerModule.setup(SWAGGER_PREFIX, app, document);[![enter image description here][1]][1]
//swagger - the request url is http://localhost:5000/user/profile
which is supposed to be http://localhost:5000/api/v2/user/profile