首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    NestJS 7.x 折腾记: (4) Swagger接入及相关用法

    效果图 以下就是配置好及写一些demo接口所展示的效果; 包括语法高亮,api分组,响应注解,api废弃,接口概述等 !...Api文档访问路径 SWAGGER_SETUP_PATH=api-docs # 标题及描述 SWAGGER_UI_TITLE=氚云3.0 BFF文档 SWAGGER_UI_TITLE_DESC=一点寒芒先到..., // swagger api 版本,自定义的 setupUrl: process.env.SWAGGER_SETUP_PATH, // UI文档路径 prefix: process.env.SWAGGER_ENDPOINT_PREFIX..., // 接口聚合前缀,在nest用全局prefix,但是丢给swagger定义也不冲突 }), ); 代码入口(main.ts) 熟悉的味道,还是把一些配置抽里成环境变量, 外部维护,通过注册中心使用...: string;// 指向API定义的URL(通常是swagger。json或swagger.yaml)。如果使用url或规范,将被忽略。 urls?

    2K10

    Nest.js 实战 (三):使用 Swagger 优雅地生成 API 文档

    什么是 Swagger ? Swagger 是一组围绕 OpenAPI 规范构建的开源工具,可以帮助您设计、构建、记录和使用 REST API。...在 main.ts 文件中定义并初始化 SwaggerModule 类 import { NestFactory } from '@nestjs/core'; import { DocumentBuilder...添加 Cookie 认证 build 构建服务 在 Nest 中使用 1、 在 DTO(响应数据传输对象) 文件中使用装饰器 import { ApiProperty } from '@nestjs...: number; } 2、 在 Controller 控制器 中使用装饰器 import { Controller, Get, Query } from '@nestjs/common'; import...描述请求头信息,包括名称、类型、描述等 @ApiExcludeEndpoint 标记一个控制器方法不在 Swagger UI 中显示 效果图 总结 在 Nest 中集成 Swagger 文档可以帮助开发者自动生成和维护

    1.3K11

    【Nest教程】集成Swagger自动生成接口文档

    Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。...现如今,前后台开发分离已成为一种标准,后台负责提供api,其余功能交给前台来实现,但是项目开发中的沟通成本也随之提高,这部分成本主要体现在前台需要接口文档,但是后台可能没时间写或者其他原因,导致功能对接缓慢...Swagger很好的解决了这个问题,它可以动态生成Api接口文档,今天我们简单说下在Nest项目中集成Swagger。...1 安装Swagger yarn add @nestjs/swagger swagger-ui-express --save 2 配置Swagger 需要在src目录下main.ts文件中配置及构建出口.../interceptor/transform.interceptor'; // api文档插件 import { SwaggerModule, DocumentBuilder } from '@nestjs

    3.2K1411

    NestJS、TypeORM 和 PostgreSQL 项目开发和数据库迁移完整示例(译)

    在这篇文章中,向你展示是如何设置大部分 Nest.js 项目的,我们将在一个简单的 Node.js API 上工作,并使用 PostgreSQL 数据库作为数据存储,并围绕它设置一些工具,使开发更容易上手...为了在 Node.js 中 构建 API,我们将使用 Nest.js。...注意:您应该将这些迁移脚本提交到您的源代码管理中,并将这些文件视为只读。 如果你想改变一些东西,想法是使用 CLI 命令在顶部添加另一个迁移。 3....) DTO 方法还使您能够从它们生成 API 文档(openAPI aka swagger docs)。...您只需安装: npm install --save @nestjs/swagger swagger-ui-express 并在 main.ts 中添加这几行 // main.ts asyncfunction

    7.7K21

    nest.js 添加 swagger 响应数据文档

    基本使用​ 通常情况下,在 nest.js 的 swagger 页面文档中的响应数据文档默认如下 此时要为这个控制器添加响应数据文档的话,只需要先声明 数据的类型,然后通过@ApiResponse...回到 Swagger 文档中,只需将 @ApiResponse({ type: TodoEntity }) 改写成 @ApiResponse({ type: ResOp }),就可以实现下图需求...自定义 Api 装饰器​ 然而对于庞大的业务而言,使用 @ApiResponse({ type: ResOp })的写法,肯定不如 @ApiResponse({ type: TodoEntity...} from '@nestjs/common' import { ApiExtraModels, ApiResponse, getSchemaPath } from '@nestjs/swagger'...:5001/api-docs, 此时再后面添加-json,即 http://127.0.0.1:5001/api-docs-json 所得到的数据便可导入到第三方的接口管理工具,就能够很好的第三方的接口协同

    94620

    学完这篇 Nest.js 实战,还没入门的来锤我!(长文预警)

    接下来需要在main.ts中设置Swagger文档信息: ... import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger'; async...对posts.controller.ts和app.controller.ts 都分别加上分类标签,刷新Swagger文档,看到的效果是这样的: 接口说明 进一步优化文档, 给每一个接口添加说明文字,...这一段是官方解释, 看不懂没关系,可以理解成,DTO 本身更像是一个指南, 在使用API时,方便我们了解请求期望的数据类型以及返回的数据对象。先使用一下,可能更方便理解。...如果你想到这里,很好,说明你一直在思考,下面我们一边继续完善Swagger接口文档,一般解释这两点。...文件中添加验证, 完善错误信息提示: import { IsNotEmpty, IsNumber, IsString } from 'class-validator'; export class CreatePostDto

    18.6K86

    NestJS、TypeORM 和 PostgreSQL 项目开发和数据库迁移完整示例(译)

    在这篇文章中,向你展示是如何设置大部分 Nest.js 项目的,我们将在一个简单的 Node.js API 上工作,并使用 PostgreSQL 数据库作为数据存储,并围绕它设置一些工具,使开发更容易上手...为了在 Node.js 中 构建 API,我们将使用 Nest.js。...注意:您应该将这些迁移脚本提交到您的源代码管理中,并将这些文件视为只读。 如果你想改变一些东西,想法是使用 CLI 命令在顶部添加另一个迁移。 3....) DTO 方法还使您能够从它们生成 API 文档(openAPI aka swagger docs)。...您只需安装: npm install --save @nestjs/swagger swagger-ui-express 并在 main.ts 中添加这几行 // main.ts asyncfunction

    6.5K30

    NestJS、TypeORM 和 PostgreSQL 项目开发和数据库迁移完整示例(译)

    在这篇文章中,向你展示是如何设置大部分 Nest.js 项目的,我们将在一个简单的 Node.js API 上工作,并使用 PostgreSQL 数据库作为数据存储,并围绕它设置一些工具,使开发更容易上手...为了在 Node.js 中 构建 API,我们将使用 Nest.js。...注意:您应该将这些迁移脚本提交到您的源代码管理中,并将这些文件视为只读。 如果你想改变一些东西,想法是使用 CLI 命令在顶部添加另一个迁移。 3....) DTO 方法还使您能够从它们生成 API 文档(openAPI aka swagger docs)。...您只需安装: npm install --save @nestjs/swagger swagger-ui-express 并在 main.ts 中添加这几行 // main.ts asyncfunction

    6.1K10

    学完这篇 Nest.js 实战,还没入门的来锤我!(长文预警)

    接下来需要在main.ts中设置Swagger文档信息: ... import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger'; async...复制代码 对posts.controller.ts和app.controller.ts 都分别加上分类标签,刷新Swagger文档,看到的效果是这样的: 接口说明 进一步优化文档, 给每一个接口添加说明文字...这一段是官方解释, 看不懂没关系,可以理解成,DTO 本身更像是一个指南, 在使用API时,方便我们了解请求期望的数据类型以及返回的数据对象。先使用一下,可能更方便理解。...如果你想到这里,很好,说明你一直在思考,下面我们一边继续完善Swagger接口文档,一般解释这两点。...文件中添加验证, 完善错误信息提示: import { IsNotEmpty, IsNumber, IsString } from 'class-validator'; export class CreatePostDto

    12.3K11

    Github 火热的 FastAPI 库,站在了这些知名库的肩膀上

    然后我发现 API 文档有一个标准叫 Swagger ,它使用 JSON 或 YAML 来描述。 并且 Swagger API 的 Web 用户界面已经被人创建出来了。...因此,能够为 API 生成Swagger 文档将允许自动使用此 Web 用户界面。 在某个时候,Swagger 被授予 Linux Foundation,将其重命名为 OpenAPI。...这就是为什么在谈论版本 2.0 时通常会说“ Swagger”,对于版本3+来说是“ OpenAPI”。 启发 FastAPI 地方: 为API规范采用开放标准,而不是使用自定义架构。...这也是它工作在 Flask, Starlette, Responder 等框架上的方式。 缺点是,我们又必须在 Python 的文档字符串使用 YAML 语法,细微的差别可能导致一些错误。...但是它不提供自动数据验证,序列化或API 文档。 这是 FastAPI 在顶部添加的主要内容之一,全部基于Python类型提示(使用Pydantic)。

    6.3K30

    Nest.js 实战 (四):利用 Pipe 管道实现数据验证和转换

    在 Nest.js 中,管道(Pipelines) 是一种强大的功能,用于预处理进入控制器方法的请求数据,如请求体、查询参数、路径参数等。...以下是 Nest.js 中管道的一些主要用途: 数据转换:管道如 ParseIntPipe、ParseFloatPipe、ParseArrayPipe 等可以将原始输入数据转换为应用内部所需的类型,如将字符串转换为整数或浮点数...例如,使用 ValidationPipe 结合 class-validator,可以自动验证请求体或查询参数是否满足特定的 DTO(数据传输对象)定义,从而预防因数据格式错误引起的运行时异常 错误处理:...如果数据不符合管道的规则,管道可以抛出异常,从而阻止请求的进一步处理,并向客户端返回适当的错误信息 一致性:管道有助于在整个应用中保持一致性,避免在不同的控制器或方法中重复相同的预处理逻辑 可插拔性和重用性...} from '@nestjs/common'; import { ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger'; // swagger

    74110

    从零开始的 Nest.js

    Swagger 正是因为 nest 集成了 swagger 自动生成文档,我对他产生了非常好的影响。不用手动写文档,根据模型的字段和类型就能生成每个 api 的文档。简直不要太爽。...1yarn add @nestjs/swagger swagger-ui-express COPY 在 app.module中加入 js 1const options = new DocumentBuilder...随后在每个路由上,你也可以添加一些装饰器在路由上,swagger 会生成描述等。 在控制器对象上加上 ApiTags装饰器,即可对不同控制器加以分组。...swagger 中显示参数,则可以对参数设置一个类型,或是一个 Dto 模型。...请求过滤 nest 同样提供了强大了请求过滤,你可以使用之前为 swagger 准备的 Dto 模型,在此基础上加以扩展,即可对请求体的模型进行验证。验证通过 nest 的管道(Pipe)。

    2K20

    重构kz-admin

    api接口文档,并提供 ApiFox 文档。...整个过程还算顺利, 使用ApiFox编写接口文档与接口测试​ 在原项目中我Swagger写的其实够完善,但是在代码协同上只给前端一个Swagger地址不是很友好。...但直到我接触并体验一段时间ApiFox后,让我更想去编写Swagger,给前端同事一个良好的Api接口测试体验,因为我自身也作为前端开发者,我太清楚API接口文档的重要性了。...当然在ApiFox中可以通过搜索来筛选模型,但在开发体验方面,我认为此次重命名重构还是非常有必要的。...这里强烈建议将ApiFox接口问题,与nestjs的Swagger代码进行对比,就能体会到写好Swagger就能得到一份如此优雅的Api文档。 做前端和做后端看到这文档,这不得发自内心的赞美。

    2.1K10

    如何开发一套项目管理系统?(附架构图+流程图+代码参考)

    在多项目并行、需求频繁变更的环境中,传统的 Excel 表格和即时通讯工具已经无法满足团队对进度可视化、协作效率和风险预警的需求。...注:本文示例所用方案模板:简道云项目管理系统,给大家示例的是一些通用的功能和模块,都是支持自定义修改的,你可以根据自己的需求修改里面的功能。一、项目管理:为什么要讲?...DTO + 验证管道 NestJS 的 class-validator 强校验,防止脏数据统一错误处理 全局 HttpExceptionFilter 捕获处理,返回友好提示前后端约定 使用 Swagger...(已立项/进行中/已完成项目数、进度分布、风险数)项目详情页:Tabs 切换「概览」「甘特图」「成员」「文档」「报表」甘特图:动效展示,支持放大缩小、拖拽调整任务看板:拖拽就能改变状态,实时同步效果截图示例仪表盘...如果是强一致场景,还可借助 Redis 分布式锁做关键流程的串行化处理。另外,前端设计也应当避免大表单长时间编辑,最好分步提交。Q3:如何做项目进度预警? 进度预警的核心是实时监控关键路径及临界任务。

    78610
    领券