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

java springdoc@ApiResponse ses如何使用将List定义为返回对象

欧阳衡
2023-03-14

我正在使用SpringBoot与以下依赖关系

    <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-ui</artifactId>
        <version>1.5.12</version>
    </dependency>

控制器类(@RestController)有一个入口点(@GetMapping),这个入口点应该返回一个对象列表:MyClass.java。为了通过swagger UI页面创建API文档,我在方法上方添加了Swagger注释。

招摇文档应指示返回对象的类型

列表

但是我应该怎么做呢?如果我这样做

" @Schema(implementation = List

存在编译错误。

Swagger注释:

@Operation(....)
@ApiResponses(value = {
        @ApiResponse(responseCode = "200", description = "successful operation",
                content = { @Content(mediaType = "application/json",
                        schema = @Schema(implementation = ????)) }),
        @ApiResponse(...),
        @ApiResponse(...)

@GetMapping(value = "/aaa", produces = MediaType.APPLICATION_JSON_VALUE)
public List<MyClass> getAaa(...)
{
    return ...
}

共有1个答案

胡鸿禧
2023-03-14

您需要为此使用ArraySchema注释并将其分配给array属性,而不是@Content注释的Schema属性。您不需要指定List. class只需要它的类型参数MyClass.class

    @Operation(
            summary = "Get a list of users",
            description = "Get a list of users registered in the system",
            responses = {@ApiResponse(
                    responseCode = "200",
                    description = "The response for the user request",
                    content = {
                            @Content(
                                    mediaType = "application/json",
                                    array = @ArraySchema(schema = @Schema(implementation = User.class))
                            )
                    })
            }
    )
    @GET
    @SecurityRequirement(name = "JWT")
    @Path("/user")
    public List<User> getUsers() {
        return null;
    }
 类似资料:
  • 问题内容: 我有一个列表,我需要使用GSON将其转换为JSON对象。我的JSON对象中包含JSON数组。 以下是我的代码,其中我需要将列表转换为其中具有JSON数组的JSON对象- 到目前为止,列表中只有两项-所以我需要这样的JSON对象- 做这个的最好方式是什么? 问题答案: 如果在您的方法中为,则应进行序列化。 这将为您提供所需的JSON输出。

  • 我有我想分批处理的编号列表。

  • 我有以下练习: 编写一个名为createListOfObjects的函数,该函数接受 包含名字和姓氏以及返回值的字符串数组 一个对象数组,每个对象都具有属性 和以及名字和姓氏值 对应值* var namesList=['Cameron Betts','Shana Lopez','Angela li']* createListOfObjects(名称列表) = 到目前为止,我的解决方案是: 但它返回

  • 我试图从spring数据jpa-native查询返回自定义对象 以下是我到目前为止根据这个如何从Spring Data JPA GROUP BY查询返回自定义对象所做的工作 我应该能够创建如下查询: 我声明投影接口 那就叫它吧 不过我有个例外 javax。坚持不懈PersistenceException:org。冬眠MappingException:未知实体:javax。坚持不懈元组 知道我做错了

  • 我将springboot控制器与@RequestBody一起使用。我有以下json请求正文 我有一个对应的POJO 我有控制器就像 显然它不起作用,因为是请求中的字符串,而它在MyObject中是布尔值。我希望它有一个逻辑,所以如果在请求中,它将在MyObject中转换为布尔值。Spring有什么机制来实现这一点?

  • 我收到了以下JSON: 如何将其转换为JAVA对象?

  • 我使用了以下SQL语句。getSingleResult()从EntityManager获取对象:

  • 问题内容: 我在这段代码上遇到问题;返回值返回为“ undefined”。有什么问题? 较新的代码: 我怎么称呼它: 问题答案: 根据您的修改进行更新 解决这些问题应可使代码正常工作。 旧答案 您正在以 同步 模式调用XMLHttpRequest ,这意味着它将 阻塞 脚本,直到请求完成为止,因为您是在阻塞调用之后(即请求已经完成之后)分配回调,因此您的代码永远不会收到通知。 由于同步模式会阻止脚