您可以在nest swagger 文档中看到如何配置枚举,但它不起作用。
import {SwaggerEnumType} from '../types/swagger-enum.type';
export declare const ApiImplicitQuery: (metadata: {
name: string;
description?: string;
required?: boolean;
type?: 'String' | 'Number' | 'Boolean' | any;
enum?: SwaggerEnumType;
isArray?: boolean;
collectionFormat?: "csv" | "ssv" | "tsv" | "pipes" | "multi";
}) => MethodDecorator;
上面你可以看到我在 swagger 模块的代码中所做的更改。下面你可以看到我的代码。
@ApiImplicitQuery({name: "orderBy", enum: ['Admin', 'Moderator', 'User']})
@ApiResponse({status: 200, description: "Successful getting registration list for admin"})
@Get('registrations/list')
public async getAdmin(@Req() req, @Res() res: Response,
@Query('page') page: number,
@Query('perPage') perPage: number,
@Query('orderBy') orderBy: UserRole = UserRole.User,
@Query('orderDir') orderDir: number
) {
try {
let token = await getCompaignIdFromAdminToken(req.headers['authorization']);
let helper: HelperClass = new HelperClass();
await helper.isUserAdmin(token);
let users = await this.adminFacade.getAllUsersList(orderBy, orderDir);
let entity = await this.adminFacade.parseRegistrationUsersList(users);
let pagePar = (page) ? page : 0;
let perPagePar = (perPage) ? perPage : users.length;
let response = await returnResponseByPageAndPerPageValues(entity, pagePar, perPagePar);
res.status(HttpStatus.OK).json({response: response, entries: users.length});
} catch (err) {
errorResponse(res, err.message, HttpStatus.BAD_REQUEST);
}
}
export enum UserRole {
Admin = 'Admin',
Moderator = 'Moderator',
User = 'User'
}
在下面您可以看到生成的 swagger 文档:

我究竟做错了什么?