Spring Swagger,隐藏枚举常量

时间:2019-01-29 10:02:06

标签: spring swagger

我有CurrencyCode枚举,其中包含所有货币,请大摇大摆地隐藏一些货币,以免它们出现在文档中?

public enum CurrencyCode {

    // CurrencyCodes according to ISO 4217

    @ApiModelProperty(required = false, hidden = true)
    AED, // United Arab Emirates dirham

    @ApiParam(hidden = true)
    AFN, // Afghan afghani

    @ApiModelProperty(hidden=true)
    ALL, // Albanian lek
    AMD, // Armenian dram
    ANG, // Netherlands Antillean guilder

我尝试了@ApiModelProperty(required = false, hidden = true)@ApiParam(hidden = true)@ApiModelProperty(hidden=true),但是它们都不起作用

2 个答案:

答案 0 :(得分:0)

找到了。 只需保留枚举即可,在父类(包括枚举)中使用allowableValues="USD,GBP,EUR"批注的@ApiModelProperty属性

我的完整代码

public enum CurrencyCode {

    // CurrencyCodes according to ISO 4217

    AED, // United Arab Emirates dirham
    AFN, // Afghan afghani
    ALL, // Albanian lek
    AMD, // Armenian dram
    ANG, // Netherlands Antillean guilder
    .
    .

及其包含的类

public class AccountInfo{

    @ApiModelProperty(example = "xxxxxxxxxx")
    @NotNull
    public final String value;

    @ApiModelProperty(allowableValues="USD,GBP,EUR", example = "EUR")
    public final CurrencyCode currency;

答案 1 :(得分:0)

对于那些使用招摇注解v3的人,可以使用以下注解

@Schema(allowableValues = "USD,GBP,EUR", type = "String")
public enum CurrencyCode {

// CurrencyCodes according to ISO 4217

}

相同的注释可以应用于AccountInfo类

public class AccountInfo{
    
    ...

    @Schema(allowableValues = "USD,GBP,EUR", type = "String")
    public final CurrencyCode currency;

}