Swagger UI:如何隐藏 Nest.js 控制器方法参数输入字段?

d9k*_*d9k 5 swagger nestjs

我将 Swagger UI 4 添加到现有的 Nest.js 7 项目中。

@HeadersNest.js 控制器方法参数有装饰器。

@ApiBearerAuth为方法添加了nest.js 装饰器。

    @ApiBearerAuth('MyAuth')
    @Get()
    async getEmployees(
        @Headers('Authorization')
        auth: string,

        @Query() query: EmployeesQuery,
    ) {
Run Code Online (Sandbox Code Playgroud)

结果是我在 Swagger UI 中同时拥有授权标头输入字段和锁定图标按钮。锁定图标按钮授权有效。授权标头输入字段不起作用,Swagger UI 需要填写它(Nest.js 实际上会忽略输入值)。

如何使 Swagger 授权字段变为不需要和隐藏?

Swagger UI 截图

d9k*_*d9k 2

找到了如何制作不需要的:

    @ApiBearerAuth('MyAuth')
    @ApiParam({
        name: 'Authorization',
        required: false,
        description:
            '(Leave empty. Use lock icon on the top-right to authorize)',
    })
    @Get()
    async getEmployees(
        @Headers('Authorization') auth: string,
        @Query() query: EmployeesQuery,
    ) {
Run Code Online (Sandbox Code Playgroud)

截图