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

api响应的Swagger文档(类型列表)

邹英发
2023-03-14

我正在使用 swagger 来生成我的 REST API 的文档。但是,我在指定某些 API 调用的响应时遇到问题。

这是我的代码:

@GET
@Path("/self/activities")
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "Get all activities created by this user",
            notes = "Returns the list that the authenticated user   (JWT) has created",
            response = Activity.class,
            responseContainer = "List")
@ApiResponses(value = {
      @ApiResponse(code = 400, response = ErrorResponse.Error.class, responseContainer = "List", message = "There was something wrong in the request and therefore could not be processed (headers, json syntax/content)"),
      @ApiResponse(code = 500, response = ErrorResponse.Error.class, responseContainer = "List", message = "Unknown Internal server error")})
public void getActivities(...){...}

这是它生成的文档:

"responses" : {
      "200" : {
        "description" : "successful operation",
        "schema" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Activity"
          }
        }
      },
      "400" : {
        "description" : "There was something wrong in the request and therefore could not be processed (headers, json syntax/content)",
        "schema" : {
          "$ref" : "#/definitions/Error"
        }
      },
      "500" : {
        "description" : "Unknown Internal server error",
        "schema" : {
          "$ref" : "#/definitions/Error"
        }
      }
    }

而且我不明白为什么错误响应不像 200 响应那样属于“数组”类型。我想要的是所有响应的格式与 200 个响应(带有项目的数组)相同:

 "500" : {
        "description" : "Uknown interval server error",
        "schema" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Error"
          }
        }
      }

谢谢你抽出时间。

共有1个答案

高宇定
2023-03-14
@ApiResponse(code = 400, response = ErrorResponse.Error.class, responseContainer = "List", message = "There was something wrong in the request and therefore could not be processed (headers, json syntax/content)"),
  @ApiResponse(code = 500, response = ErrorResponse.Error.class, responseContainer = "List", message = "Unknown Internal server error")})

400和500错误响应将返回一个错误响应。不是数组。

 类似资料:
  • 我有大约40个API,它们具有类似的基本响应结构,如下所示: 因此,我有一个基本响应类,采用T类型的泛型,如下所示: 因此,对于API A,它返回类型为的对象及其自己的字段,我将返回响应作为控制器中的API响应: 在控制器中:响应数据=新响应();ResponseEntity response=新的ResponseEntity 在swagger中有没有一种方法可以递归地指定响应对象的模型?例如,我

  • 支持在项目中使用 Swagger 注解语法,运行命令,生成 Swagger 文件。 Swagger 是最流行的 API 开发工具,它遵循 OpenAPI Specification(OpenAPI 规范,也简称 OAS)。 Swagger 可以贯穿于整个 API 生态,如 API 的设计、编写 API 文档、测试和部署。 Swagger 是一种通用的,和编程语言无关的 API 描述规范。 imi-

  • 问题内容: 我有使用Java的JAX-RS / Jersey开发的REST API。我想为其转换/生成基于Swagger的UI文档。有人可以简单的方式告诉我精确的步骤吗?很抱歉,他们网站上的步骤对我来说并不清楚。 问题答案: 有几种方法可以将swagger-core与您的应用程序集成,但是根据您的描述,我将按照https://github.com/swagger- api/swagger-core

  • 我正在为我的APIendpoint实现集成测试。为了验证json响应模式,我使用了swagger docs。通常,我必须将swagger yaml转换为json,并手动创建Json模式文件。我发现所有的技巧信息都在swagger文件中定义,它应该有一些方法直接从swagger文档中验证json响应。 你知道直接从swagger文件验证json模式响应的方法吗?

  • 我使用了Swagger UI来显示我的REST Web服务,并将其托管在服务器上。 然而,这种招摇过市的服务只能在特定的服务器上访问。如果我想脱机工作,有人知道我如何使用Swagger UI创建静态PDF并使用它吗?此外,PDF很容易与无权访问服务器的人共享。 非常感谢!

  • 我正在阅读使用flask-rest x的swagger留档,并遵循示例。我知道为了为API获取的参数生成swagger文档,我应该这样做 然而,我找不到关于如何记录API响应主体的解释。不是响应代码,而是由例如get方法返回的结果。我要找的是如下内容: 有人知道这是否可能,如果可能,如何实现?