当前位置: 首页 > 知识库问答 >
问题:

如何用 swagger 引用响应对象?

边浩漫
2023-03-14

我可以这样做:

parameters:
  avatarSizeParam:
    name: size
    in: query
    description: Size of avatar.
    enum: [32, 64]
    required: false
    type: integer
    format: int32

paths:
  /my/path/avatar:
    get:
      parameters:
        - $ref: '#/parameters/avatarSizeParam'

responses:
  notFoundResponse:
    description: Entity not found.
    schema:
      $ref: '#/definitions/schema404'

paths:
  /my/path/avatar:
    get:
      parameters:
        - $ref: '#/parameters/avatarSizeParam'
      responses:
        - $ref: '#/responses/notFound'

然而,这似乎不起作用。我返回到操作对象的规范,注意到参数可以是引用对象,但响应不能。

如果您无法引用响应定义对象(最顶层的响应)中的项,那么允许该对象的意义何在?有没有办法做到这一点?

共有1个答案

奚无尘
2023-03-14

如果您在这里看到,您必须将HTTP状态代码定义为密钥,那么正确的语法是:

paths:
  /my/path/avatar:
    get:
      parameters:
        - $ref: '#/parameters/avatarSizeParam'
      responses:
        404:
          $ref: '#/responses/notFound'
 类似资料:
  • 我必须调试使用Swagger开发的RESTAPI Java项目。我是新手,所以我对如何做某些事情有点困惑。例如,这里有一种方法: 代码 200 不是 类型,而是

  • 我是招摇过市的新手,正在从事创建通用http响应代码的API操作:- > 401:未经授权 '403':禁止 我通过定义响应尝试了,但出现了一个错误。有没有办法做到这一点?,避免每次操作后出现冗余代码块。任何帮助都将不胜感激。 提前感谢

  • 我在一个REST服务中工作,该服务是由Spring Boot的,到目前为止,它是使用springfox-swagger2:2.7.0(首先实现)记录的。我添加的最后一个操作如下: 现在,问题是无论如何,生成的斯瓦格定义最终看起来像这样: 如果这个操作不返回任何内容,我理解204响应应该没有字段(像另一个字段一样)。 我尝试在@ApiParam注释中指定(如其他线程中建议的),但没有任何乐趣(因为它

  • 我有一个V2.2.2版本的Spring Boot示例应用程序,它提供2个GET请求。我应该使用什么版本的swagger和swagger UI,因为springfox-swagger2和springfox-swagger-ui的最新版本在提到的Spring boot版本中不受支持?

  • null https://imgur.com/a/kbkkbtg 正如您所看到的,我使用了来自KeyVault的引用,其形式如下: @microsoft.keyvault(Secreturi=https://xxx.vault.azure.net/secrets/mysecret/xxxzxxzxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

  • 问题内容: 指针是仅用于实现Java参考变量还是实际上如何实现?以下是Java语言规范中的代码行 4.3.1对象对象是类实例或数组。引用值(通常只是引用)是指向这些对象的指针,还有一个特殊的空引用,它不引用任何对象。 这是否意味着一直都是指针? 问题答案: 在现代JVM中,引用被实现为地址。 回到HotSpot的第一个版本(对于“经典VM”来说更早一些),引用被实现为句柄。那是指向指针的固定指针。