You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Quarkus中为返回Map的API响应正确定义@Schema

正确定义返回Map<String, PojoDto>的API 200响应@Schema

你当前的200响应schema错误地将结构定义为单个PojoDto对象,但接口实际返回的是Map<String, PojoDto>类型的键值对集合,需要调整@Schema配置来匹配这一结构。

正确配置方式

在200响应的@Schema中,需指定类型为OBJECT(对应JSON对象,即Map的序列化形式),同时通过additionalProperties明确Map值的类型为PojoDto。修改后的200响应配置如下:

@APIResponse(
    responseCode = "200",
    description = "OK",
    content = @Content(mediaType = MediaType.APPLICATION_JSON,
        schema = @Schema(
            type = SchemaType.OBJECT,
            additionalProperties = @Schema(implementation = PojoDto.class)
        )
    )
)

配置说明

  • type = SchemaType.OBJECT:告诉OpenAPI这是一个JSON对象结构,对应Java中的Map类型。
  • additionalProperties = @Schema(implementation = PojoDto.class):指定JSON对象中所有属性的值类型为PojoDto,匹配Map值的类型。

这样配置后,生成的API文档会准确反映接口返回的键值对结构,和实际返回的Map<String, PojoDto>完全一致。

内容的提问来源于stack exchange,提问作者Mindaugas Jaraminas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 22:22:37