Nestjs中如何为Swagger的DTO(schema)添加整体描述?
实现方法
你需要在定义DTO的阶段添加对应装饰器/配置,无需在返回配置中修改,不同技术栈的具体实现如下:
- NestJS(@nestjs/swagger):使用
@ApiSchema装饰器标注在DTO类上,传入description参数即可为整个Schema添加描述
示例代码:
import { ApiSchema } from '@nestjs/swagger'; @ApiSchema({ description: 'XX业务请求参数的传输对象,包含对应业务全量必填字段' }) export class YourDto { // 单个属性定义 }
- FastAPI(Pydantic):直接在DTO对应的Pydantic模型中配置
model_config的description字段即可
示例代码:
from pydantic import BaseModel, ConfigDict class YourDTO(BaseModel): model_config = ConfigDict( description="XX业务请求参数的传输对象,包含对应业务全量必填字段" ) # 单个属性定义
- Spring Boot(SpringDoc):使用
@Schema注解标注在DTO类上,传入description参数即可
示例代码:
import io.swagger.v3.oas.annotations.media.Schema; @Schema(description = "XX业务请求参数的传输对象,包含对应业务全量必填字段") public class YourDto { // 单个属性定义 }
以上配置生成的OpenAPI规范会自动带上Schema级别的描述,完全满足no_schema_description规则的校验要求。
内容的提问来源于stack exchange,提问作者Gerriet
相关产品推荐
相关产品推荐

