Skip to content

Commit 3050e19

Browse files
authored
chore: add swagger docs for ts api (#614)
1 parent 5010ad7 commit 3050e19

File tree

3 files changed

+89
-4
lines changed

3 files changed

+89
-4
lines changed

lesson_26/api/javascript/api_app/package-lock.json

Lines changed: 76 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lesson_26/api/javascript/api_app/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
"@nestjs/common": "^10.0.0",
2525
"@nestjs/core": "^10.0.0",
2626
"@nestjs/platform-express": "^10.0.0",
27+
"@nestjs/swagger": "^8.0.7",
2728
"reflect-metadata": "^0.2.0",
2829
"rxjs": "^7.8.1"
2930
},
@@ -68,4 +69,4 @@
6869
"coverageDirectory": "../coverage",
6970
"testEnvironment": "node"
7071
}
71-
}
72+
}

lesson_26/api/javascript/api_app/src/main.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,22 @@
11
import { NestFactory } from '@nestjs/core';
22
import { NestExpressApplication } from '@nestjs/platform-express';
3+
import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';
34
import { AppModule } from './app.module';
45

56
async function bootstrap() {
67
const app = await NestFactory.create<NestExpressApplication>(AppModule);
78
app.enableCors();
89
app.set('trust proxy', 'loopback'); // Trust requests from the loopback address
10+
11+
const config = new DocumentBuilder()
12+
.setTitle('Library API')
13+
.setDescription('An API for managing a library of media items')
14+
.setVersion('1.0')
15+
.addTag('library')
16+
.build();
17+
const documentFactory = () => SwaggerModule.createDocument(app, config);
18+
SwaggerModule.setup('api', app, documentFactory);
19+
920
await app.listen(3000);
1021
}
1122

0 commit comments

Comments
 (0)