我有以下文件metrics.controller.ts:
import { Controller, Get } from '@nestjs/common';
import { ApiOperation, ApiResponse, ApiUseTags, ApiModelProperty } from '@nestjs/swagger';
import { PrometheusService } from './prometheus.service';
@Controller('metrics')
@ApiUseTags('Misc')
export class MetricsController {
constructor(private readonly prometheusService: PrometheusService) {}
@Get('/')
@ApiOperation({
title: 'Prometheus metrics',
description: 'Exposes default prometheus node metrics'
})
@ApiResponse({ status: 200, description: 'Prometheus metrics' })
public getMetrics(): string {
return this.prometheusService.getMetrics();
}
}
Run Code Online (Sandbox Code Playgroud)
然而,当实际输出为text/plain时,Swagger 错误地指示了application/json的响应内容类型:

我尝试查看有关描述响应的 Swagger 文档,我正在寻找的项目是“内容”部分。但是,该文档不涵盖 TypeScript 注释。Swagger Core 2.X 文档 …