diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/ApiModelPropertyEnum.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/ApiModelPropertyEnum.java index 40399a0f..c9babff3 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/ApiModelPropertyEnum.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/ApiModelPropertyEnum.java @@ -26,6 +26,18 @@ public @interface ApiModelPropertyEnum { String example() default ""; + /** + * 是否隐藏 + * + * @return + */ + boolean hidden() default false; + + /** + * 是否必须 + * + * @return + */ boolean required() default true; String dataType() default ""; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/swagger/SmartSwaggerApiModelEnumPlugin.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/swagger/SmartSwaggerApiModelEnumPlugin.java index 15037fb8..dbc2d586 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/swagger/SmartSwaggerApiModelEnumPlugin.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/swagger/SmartSwaggerApiModelEnumPlugin.java @@ -45,22 +45,23 @@ public class SmartSwaggerApiModelEnumPlugin implements ModelPropertyBuilderPlugi @Override public void apply(ModelPropertyContext context) { - Optional annotation = Optional.absent(); + Optional enumOptional = Optional.absent(); if (context.getAnnotatedElement().isPresent()) { - annotation = annotation.or(findApiModePropertyAnnotation(context.getAnnotatedElement().get())); + enumOptional = enumOptional.or(findApiModePropertyAnnotation(context.getAnnotatedElement().get())); } if (context.getBeanPropertyDefinition().isPresent()) { - annotation = annotation.or(findPropertyAnnotation(context.getBeanPropertyDefinition().get(), ApiModelPropertyEnum.class)); + enumOptional = enumOptional.or(findPropertyAnnotation(context.getBeanPropertyDefinition().get(), ApiModelPropertyEnum.class)); } - if (annotation.isPresent()) { - Class aClass = annotation.get().value(); - String enumInfo = BaseEnum.getInfo(aClass); - String enumDesc = annotation.get().enumDesc(); - context.getBuilder().required(annotation.transform(toIsRequired()).or(false)) - .description(enumDesc +":"+enumInfo) - .example(annotation.transform(toExample()).orNull()); + if (enumOptional.isPresent()) { + ApiModelPropertyEnum anEnum = enumOptional.get(); + String enumInfo = BaseEnum.getInfo(anEnum.value()); + context.getBuilder() + .required(enumOptional.transform(toIsRequired()).or(false)) + .description(anEnum.enumDesc() + ":" + enumInfo) + .example(enumOptional.transform(toExample()).orNull()) + .isHidden(anEnum.hidden()); } }