@ 2amtech/crudx- swagger (英语)
雀巢JS通过它的软件包提供巨大的支持来滑翔 @nestjs/ swagger (英语)。 。 。 .
作为增强CRUD端点创建能力的图书馆 @2amtech/crudx 完成这个步骤 证明 @2amtech/crudx-swagger,用于为自动生成的端点CRUD端点添加相干元数据的一个手动一步骤设置模块.
使用此软件包,您将会在您所有 CRUD 路由的 swagger docs 中定义默认描述, 能够替换/ 扩展这些路由, 只需覆盖想要的路由, 并使用 @nestjs/swagger 作装饰.
安装
$ npm i @2amtech/crudx-swagger
配置
要配置软件包,只需设置 CrudxSwaggerRoutesFactory 页:1 routesFactory 选项
import { CrudConfigService } from "@2amtech/crudx";
import { NestFactory } from "@nestjs/core";
import { CrudxSwaggerRoutesFactory } from "@2amtech/crudx-swagger"
CrudConfigService.load({
...
routesFactory: CrudxSwaggerRoutesFactory,
});
import { AppModule } from "./app/app.module";
...
然后,你必须创建一个 swagger 文档和应用程序本身, 通常这样做:
async function bootstrap() {
const app = await NestFactory.create(AppModule);
const globalPrefix = "api";
app.setGlobalPrefix(globalPrefix);
const port = process.env.PORT || 3000;
const config = new DocumentBuilder().setTitle("Crudx Swagger").setDescription("Crudx-Swagger").setVersion("1.0").addTag("crudx-swagger").build();
const document = SwaggerModule.createDocument(app, config);
SwaggerModule.setup("api/docs", app, document);
await app.listen(port);
}
bootstrap();
覆盖文件
如果您想要修改默认的道克或用自己的描述更新一些路由道克,则只需要覆盖路由,然后应用您的装饰符:
...
@Crud({
model: {
type: User,
},
})
@Controller('/user')
export class UserController implements CrudController<User> {
constructor(public service: UserService) {}
get base(): CrudController<User> {
return this;
}
@Override()
@ApiResponse(<ApiResponseOptions>{
status: 200,
description: "Overriden description",
})
async getOne(req: CrudRequest): Promise<User> {
return this.base.getOneBase(req);
}
}
网络开发从未如此有趣
www.2am.tech 页面存档备份,存于互联网档案馆