问题现象:
SpringBoot项目,利用mybatis-plus代码生成器生成代码,当模板使用freemarker模板时,未指定moduleName的情况下,生成的Controller文件里请求路径@Requestmapping("//XXX")里出现了2个斜杠“/”。
问题原因:
(1)代码生成器代码里moduleName默认值是空字符串,而不是null;
(2)在controller代码生成模板controller.java.ftl里,对moduleName的判断只有对null值的判断,而没有对空字符串的判断;
这两个原因结合起来,造成的结果就是在controller请求路径里多输出了一个"/"。
解决办法:
解决办法有两个,分别是:
(1)方法一:修改moduleName值,当moduleName为空的时候直接在代码里把它设置为null,覆盖掉默认的空字符串"";
(2)方法二:自定义controller.java.ftl文件,修改moduleName的判断条件,把空字符串的判断也加上;
以上两种方法,用哪个方法都可以,都可以解决问题。