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

Quarkus中OpenAPI配置疑问:隐藏类与字段描述设置

问题1:隐藏无需展示的类/属性

使用SmallRye OpenAPI提供的@Schema(hidden = true)注解即可实现需求:

  • 如果是对象组合中引用的属性需要隐藏,直接在该属性上添加注解;
  • 如果要隐藏整个类(比如自定义的Era、CalendarDate),在类定义上标注注解。

代码示例:

import io.smallrye.openapi.api.annotations.Schema;
import java.util.Date;

// 请求/响应实体类
public class OrderDTO {
    private String orderNo;
    
    // 隐藏JDK自带的Date类型属性
    @Schema(hidden = true)
    private Date submitTime;
    
    // 隐藏自定义的CalendarDate类型属性
    @Schema(hidden = true)
    private CalendarDate validDate;
    
    // getter/setter 省略
}

// 隐藏整个自定义Era类
@Schema(hidden = true)
public class Era {
    private String code;
    // getter/setter 省略
}
问题2:给请求体字段添加描述

@Parameter注解仅针对路径参数、查询参数等场景生效,请求体内的字段描述需要用@Schema(description = "你的描述内容")注解标记在实体类的对应字段上。

代码示例:

import io.smallrye.openapi.api.annotations.Schema;

// 请求体实体类
public class CustomerAccountDTO {
    // 为该字段添加描述,会在OpenAPI Schema中显示
    @Schema(description = "客户账户的唯一标识,由16位数字组成")
    private String accountNumberCustomerAccount;
    
    private String customerName;
    
    // getter/setter 省略
}

// 接口类
import jakarta.ws.rs.POST;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.core.MediaType;

@Path("/customer/accounts")
public class AccountResource {
    @POST
    @Consumes(MediaType.APPLICATION_JSON)
    public void createCustomerAccount(CustomerAccountDTO request) {
        // 业务逻辑实现
    }
}

内容的提问来源于stack exchange,提问作者Cesar Justo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 21:31:14