NestJS:在SwaggerUI中为端点排序

12
这个Stack Overflow答案显示,如果在SwaggerUi实例化时传递apisSorter : "alpha",则它将按字母顺序对端点进行排序。 在NestJS中,配置选项是在SwaggerModule.createDocument中传递的。 我无法找到在这里的配置中可以传递此选项的位置。
2个回答

26
你可以将它作为第四个参数传递给SwaggerModule.setup方法,如下所示:
const document = SwaggerModule.createDocument(app, options);
  SwaggerModule.setup('docs', app, document, {
    swaggerOptions: {
      tagsSorter: 'alpha',
      operationsSorter: 'alpha',
    },
  });

swaggerOptionsuntyped,因此您只需要知道自己在传递什么即可。在discord服务器中找到答案(链接不会过期)


这个有效,谢谢。我之前看过 https://github.com/nestjs/swagger/blob/ae3c35556522dc0dc2f769093861443ec5607/lib/interfaces/swagger-custom-options.interface.ts#L3,但不确定那是正确的键...我曾尝试直接传递哈希值,当然没有成功。 - auerbachb

0
对于任何尝试使用@midopa的FastifySwagger解决方案的人,请将tagsSorteroperationsSorter值传递给uiConfig而不是swaggerOptions
    const doc = SwaggerModule.createDocument(app, config);
    SwaggerModule.setup('docs', app, doc, {
    uiConfig: {
      tagsSorter: 'alpha',
      operationsSorter: 'alpha',
      },
    });

注意:此适用于 @nestjs/swagger 版本 6 或更低。对于 v7 或更高版本,swaggerOptions 将完美运行。


在Nest.js Swagger的7以上版本中找不到该属性。 - Muhammad Ichsan
答案已经被编辑以添加必要的版本解决方案。对于 @nestjs/swagger v7 或更高版本,swaggerOptions 将起作用。感谢您引导我的注意力到这一点上。 - volf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接