一次实际研发中偶然碰到的问题
private List getParamsName(HandlerMethod handlerMethod) {
Parameter[] parameters = handlerMethod.getMethod().getParameters();
List<String> list = new ArrayList<>();
for (Parameter parameter : parameters) {
//判断这个参数时候被加入了 NotNull. 的注解
if (parameter.isAnnotationPresent(NotNull.class)) {
list.add(parameter.getName());
}
}
return list;
}
此处List获取的值竟然是[arg0,arg1,arg2]
经过百度一番修改idea配置,然并卵
这里贴出解决方案:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
</plugins>
</build>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
pom文件中添加此行代码既可以解决问题
此博客希望能够解决读者的问题