-
This commit is contained in:
parent
a86d012adc
commit
4bfd893199
@ -6,9 +6,9 @@ import { TypeOrmModule } from '@nestjs/typeorm';
|
|||||||
import { RateLimiterModule } from 'nestjs-rate-limiter';
|
import { RateLimiterModule } from 'nestjs-rate-limiter';
|
||||||
|
|
||||||
import User from './entity/user';
|
import User from './entity/user';
|
||||||
import { TechModule } from './apps/tech';
|
import { TechModule } from './apps/pluginORM';
|
||||||
import { CatsModule } from './apps/tech/cats/cats.module';
|
import { CatsModule } from './apps/pluginORM/cats/cats.module';
|
||||||
import { RateModule } from './apps/rate';
|
import { RateModule } from './apps/pluginRate';
|
||||||
import { UseControllerModule } from './apps/useController';
|
import { UseControllerModule } from './apps/useController';
|
||||||
@Module({
|
@Module({
|
||||||
imports: [
|
imports: [
|
||||||
|
4
src/apps/pluginRate/README.md
Normal file
4
src/apps/pluginRate/README.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# 接口限速插件
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
66
src/apps/pluginSwagger/README.md
Normal file
66
src/apps/pluginSwagger/README.md
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
# 集成Swagger
|
||||||
|
|
||||||
|
https://docs.nestjs.com/openapi/introduction
|
||||||
|
|
||||||
|
要开始使用,首先安装依赖、
|
||||||
|
|
||||||
|
$ npm install --save @nestjs/swagger swagger-ui-expressCopy to clipboardErrorCopied
|
||||||
|
|
||||||
|
如果使用fastify,安装fastify-swagger而不是swagger-ui-express:
|
||||||
|
|
||||||
|
$ npm install --save @nestjs/swagger fastify-swagger
|
||||||
|
|
||||||
|
安装完成后,在main.ts文件中定义并初始化SwaggerModule类:
|
||||||
|
|
||||||
|
```js
|
||||||
|
import { NestFactory } from '@nestjs/core';
|
||||||
|
import { NestExpressApplication } from '@nestjs/platform-express';
|
||||||
|
import { AppModule } from './app.module';
|
||||||
|
import { join } from 'path';
|
||||||
|
import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';
|
||||||
|
|
||||||
|
async function bootstrap() {
|
||||||
|
console.log(__dirname);
|
||||||
|
const app = await NestFactory.create<NestExpressApplication>(AppModule);
|
||||||
|
app.useStaticAssets(join(__dirname, '..', 'public'));
|
||||||
|
app.setBaseViewsDir(join(__dirname, '..', 'templates'));
|
||||||
|
app.setViewEngine('hbs');
|
||||||
|
app.useStaticAssets(join(__dirname, '..', 'public'), {
|
||||||
|
prefix: '/static',
|
||||||
|
});
|
||||||
|
|
||||||
|
const config = new DocumentBuilder()
|
||||||
|
.setTitle('Nest.js')
|
||||||
|
.setDescription('使用Nest.js')
|
||||||
|
.setVersion('1.0')
|
||||||
|
.addTag('Use Nest.js')
|
||||||
|
.build();
|
||||||
|
const document = SwaggerModule.createDocument(app, config);
|
||||||
|
SwaggerModule.setup('api', app, document);
|
||||||
|
|
||||||
|
await app.listen(3000);
|
||||||
|
}
|
||||||
|
bootstrap();
|
||||||
|
```
|
||||||
|
|
||||||
|
## 标签
|
||||||
|
|
||||||
|
```js
|
||||||
|
@ApiTags('模板使用')
|
||||||
|
@Get('/temp1')
|
||||||
|
@Render('index')
|
||||||
|
temp1() {
|
||||||
|
return {
|
||||||
|
message: 'Hello,,Nest',
|
||||||
|
};
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## 响应
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
@ApiResponse({ status: 201, description: 'The record has been successfully created.'})
|
||||||
|
@ApiResponse({ status: 403, description: 'Forbidden.'})
|
||||||
|
```
|
14
src/apps/useCli/README.md
Normal file
14
src/apps/useCli/README.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# Cli
|
||||||
|
|
||||||
|
Nest CLI是一个命令行界面工具,以帮助您初始化、开发和维护 Nest 应用程序。它以多种方式提供帮助,包括搭建项目、以开发模式为其提供服务,以及为生产分发构建和打包应用程序。它体现了最佳实践的架构模式,以构建良好的应用程序。
|
||||||
|
|
||||||
|
```shell
|
||||||
|
npm install -g @nestjs/cli
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
|
╰─$ nest -v
|
||||||
|
8.2.6
|
||||||
|
```
|
||||||
|
|
||||||
|
|
2
src/apps/useController/README.md
Normal file
2
src/apps/useController/README.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Controller
|
||||||
|
|
@ -1,12 +1,51 @@
|
|||||||
import { Controller, Get } from '@nestjs/common';
|
import { Controller, Get, HttpStatus, Param, Req, Res } from '@nestjs/common';
|
||||||
import { ApiTags } from '@nestjs/swagger';
|
import { ApiTags } from '@nestjs/swagger';
|
||||||
|
import { Response, Request } from 'express';
|
||||||
|
|
||||||
@Controller('/useController/param')
|
@Controller('/useController')
|
||||||
@ApiTags('Controller使用')
|
@ApiTags('Controller使用')
|
||||||
export default class ParamController {
|
export default class ParamController {
|
||||||
// 基本控制器
|
// 基本控制器
|
||||||
@Get('/t1')
|
@Get('/t1')
|
||||||
getT1() {
|
getT1() {
|
||||||
return 'T1';
|
return '测试路由';
|
||||||
|
}
|
||||||
|
// Get请求参数
|
||||||
|
@Get('/t2')
|
||||||
|
getT2() {
|
||||||
|
return '测试路由';
|
||||||
|
}
|
||||||
|
// Post参数
|
||||||
|
@Get('/t3')
|
||||||
|
getT3() {
|
||||||
|
return '测试路由';
|
||||||
|
}
|
||||||
|
// Request对象
|
||||||
|
@Get('/request')
|
||||||
|
getT4(@Req() request: Request) {
|
||||||
|
console.log(request);
|
||||||
|
return {
|
||||||
|
method: request.method,
|
||||||
|
url: request.url,
|
||||||
|
baseUrl: request.baseUrl,
|
||||||
|
headers: request.headers,
|
||||||
|
cookies: request.cookies,
|
||||||
|
statusCode: request.statusCode,
|
||||||
|
route: request.route,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get路径参数
|
||||||
|
@Get('/query_param/:name')
|
||||||
|
getT5(@Param() params) {
|
||||||
|
console.log(params);
|
||||||
|
return {
|
||||||
|
...params,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
/// 自定义Response
|
||||||
|
@Get('/response')
|
||||||
|
getT6(@Res() res: Response) {
|
||||||
|
res.status(HttpStatus.CREATED).send([1, 2, 3]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user