获取对象@ApiModelProperty
时间: 2023-10-17 07:27:48 浏览: 127
通过反射获取指定类@ApiModelProperty注解修饰的name值和value值的方法如下所示:
```java
public static LinkedHashMap<String, String> getApiModelProperty(String classPath) {
LinkedHashMap<String, String> res = new LinkedHashMap<>();
try {
// 1.根据类路径获取类
Class<?> c = Class.forName(classPath);
// 2.获取类的属性
Field[] declaredFields = c.getDeclaredFields();
// 3.遍历属性,获取属性上ApiModelProperty的值,属性的名,存入res
if (declaredFields.length != 0) {
for (Field field : declaredFields) {
if (field.getAnnotation(ApiModelProperty.class) != null) {
// 这存的key为注解的[name类属性名,value为注解的[value值
res.put(field.getName(), field.getAnnotation(ApiModelProperty.class).value());
}
}
return res;
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
```
这个方法可以动态获取指定类对象的所有带有@ApiModelPropery注解的属性的name和value值,并返回一个LinkedHashMap对象,其中属性名作为key,注解的value值作为value。
这个方法可以方便地将@Autowired注解转换为map格式,并且可以通过更改注解类型,比如@TableField注解等,来获取不同注解的属性值。
请注意,这个方法是用于获取对象的@ApiModelPropery注解,如果想获取其他注解的属性值,只需将代码中的@ApiModelPropery换成相应的注解即可。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Spring Boot进阶(13):如何获取@ApiModelProperty(value = “序列号“, name = “uuid“)中的value值 | ...](https://blog.csdn.net/weixin_43970743/article/details/127083749)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [动态获取属性名与@ApiModelProperty注解值](https://blog.csdn.net/weixin_48788601/article/details/129800971)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文
相关推荐

















