@Path 和 @ActionKey 一起使用时的问题

如果是controller类使用了@Path注解路由,那么方法上面的@ActionKey失效,导致方法路由无法被调用!

1、只使用@Path情况路由都是正常:

image.png

前端:

image.png


2、方法使用@ActionKey时:

image.png

前端:

image.png

原来是@ActionKey的路由在独立存在的,无视@Path的存在

image.png



评论区

琴海森林

2020-11-10 11:46

@lyh061619 你这个访问地址都不对啊

琴海森林

2020-11-10 11:47

/admin/login/a 才对

lyh061619

2020-11-10 11:47

并不会,仔细自己检查下注意你的访问地址,你即然使用@ActionKey("/test"),那么你的访问地址:http://localhost/test才对。

琴海森林

2020-11-10 11:49

原来不是连接的

JFinal

2020-11-10 11:50

@琴海森林 @ActionKey 的功能没有被影响,你再试试

lyh061619

2020-11-10 11:52

上面截图访问地址都是错的,@Path("/project"),在public void test(){}使用@ActionKey("/test"),在浏览器访问地址仍使用http://localhost/project/test。

琴海森林

2020-11-10 11:52

@JFinal 嗯,我看了一下文档,原来ActionKey已经是独立的了

琴海森林

2020-11-10 11:54

@lyh061619 理解了,功能是没问题,这里就是会容易引起误解

lyh061619

2020-11-10 12:00

@琴海森林 @ActionKey()这个功能简单理解:在手动绑定或扫描注解@Path()基之上改变action的访问地址。

JFinal

2020-11-10 12:01

@琴海森林 功能一直是这样的, @ActionKey 顾名思义, 就是 action 的 key,这个 key 是会覆盖 controllerPath 配置的

否则应该改名叫 methodKey

jfinal 4.9.03 这个版本还新增了一个 controllerPath 共享功能,也就是多个 Controller 可以映射为同样的 controllerPath, 这个功能可以大大减少对 @ActionKey 的使用需求

琴海森林

2020-11-10 12:05

@JFinal 好的,这个是以前没留意@actionKey的使用

JFinal

2020-11-10 12:10

@琴海森林 社区所有资源全改成了路由扫描的用法,下载试用啊,超爽的

routes 级拦截器、baseViewPath 这些功能都还在是很爽的

还有一个爽点就是扫描速度极快,根本不比手动添加路由慢

琴海森林

2020-11-10 12:25

@JFinal 嗯,正在试用,打算把JFinal-layui的注解路由替换掉