如何在nestjs上的swagger中添加响应链接?

wlp8pajw  于 2023-08-05  发布在  其他
关注(0)|答案(1)|浏览(117)

我想在OAS 3/ nestjs中创建一个从users get/list方法'id'属性到users/{id} getById方法的链接。
类似于这个例子(在'定义链接'下):https://swagger.io/docs/specification/links/
我发现一个'链接'属性在'模式'对象,但我不能正确设置它。我很努力地寻找关于如何设置和使用这个特性的明确定义,但似乎在nestjs的官方文档和其他资源中都没有太多关于这个特性的信息。
我试着做了一些变化:

@ApiResponse({
    status: 200,
    description: 'Finds a user by id.',
    schema: { allOf: [{ $ref: getSchemaPath(UserModel) }] },
    links: {
      operationId: { $ref: 'list' },
    },
  })

字符串
但是我试图在“链接”下传递的集合都没有实际工作;它只是在swagger UI中创建空的链接字段。

dluptydi

dluptydi1#

这在NestJS的文档中记录得很差,我也遇到了同样的问题,但是通过查看Swagger's official documentation on Links以及@nestjs/swagger的源代码,我发现以下工作:

@ApiResponse({
    description:
      "...",
    links: {
      'Link Name': {
        description: 'Some description',
        operationId: 'getUser',
        parameters: { userId: '$response.body#/userId' },
      },
    },
  })

字符串
这应该可以工作,并且您在Swagger UI中的结果应该如下所示:x1c 0d1x的数据

相关问题