4.9.03新增的@Path注解实现路由扫描的疑问确认

@JFinal

4.9.03新增了路由扫描,一直期待这个功能。现在终于有了。

有个疑问需要确认一下:如果@Path注解提供了viewPath参数,在configRoute里也调用了setViewPath,那最后这个controller里的url是不是应该是setViewPath设置的路径并上@Path注解里viewPath的路径?

评论区

JFinal

2020-11-10 10:47

没错的,与老版本的行为是完全一样的,其中你讲的 setViewPath 是笔误,要改成 setBaseViewPath

要立即掌握扫描功能的用法,只需要记住下面的要点:
@Path(value, viewPath ) 的两个参数与 Routes.add(controllerPath, controllerClass, viewPath ) 的第一和第三个参数是完全等价的

JFinal

2020-11-10 10:49

补充一下,官方文档已经追加了这部分的内容:
https://jfinal.com/doc/2-3

俱乐部视频也上新了这部分的视频:
《jfinal-route-scan.mp4》
里头详细介绍了用法,重点介绍了路由拆分、 routes 级拦截器、baseViewPath 的用法,现在就可以下载了:
https://jfinal.com/my/club

zzutligang

2020-11-10 11:37

@JFinal,刚去看了文档,文档里提到如果用@Path注解实现路由扫描,以前的add方法就不能用了?两者只能选一种吗?之前的系统都是继承一个Routes,然后add路由。多个人开发,会有多个Routes继承子类。如果只能二选一,那以前的系统就不能改造了。我是想混合用,以前的add方法增加路由还不变,个别地方用@Path注解实现路由定制。

琴海森林

2020-11-10 12:38

@zzutligang 可以设置扫描的package,注解扫描器都放新的package

zzutligang

2020-11-10 13:44

@琴海森林@JFinal,是不是我理解的不够?me.scan除了能扫描@Path注解外,还能扫描所有继承自Routes的类?只要在扫描路径下有Routes的子类,都会自动增加到路由里?是这样的嘛?

琴海森林

2020-11-10 14:13

@zzutligang 是扫描这个scan下面的package有@Path注解的类

zzutligang

2020-11-11 09:59

@琴海森林@JFinal,扫描所有@Path注解的类这点我知道。那我之前的通过继承Routes类然后通过add增加的路由呢?还有效吗?

琴海森林

2020-11-11 10:04

@zzutligang 有效,这种问题自己测就知道了,问出来的结果还不如自己测试

zzutligang

2020-11-11 10:07

一个累计了5,6年的项目,内容太多。问题不搞清楚,不敢提换上去。之前一直用到的海哥的RequestMapping注解。虽然有些缺陷,不过基本上还是满足。现在官方提供了,想换回官方的,但一个很大的系统,实在不敢轻易替换底层框架。谢谢@琴海森林

琴海森林

2020-11-11 10:45

@zzutligang 理解原理就不怕,我的JFinal-layui昨天就替换完成了,我原来的注解和官方的注解可以一起使用,手动添加的也没问题,但是我全部替换成官方的了

zzutligang

2020-11-11 10:47

我刚刚也替换了,说实在的,替换前还是有点担心的。不过替换很顺利!每次JFinal都没让人失望!