Solon 路由的 Url 大小写匹配与事项注意
Solon 路由器对 url 的匹配默认是 “忽略大小写” 的。如果有需要,可以强制开启:v2.2.14 后支持
@SolonMain
public class App{
public static void main(String args){
Solon.start(App.class, args, app -> {
app.router().caseSensitive(true); //或许以后默认值会变,可以强制用 false 或 true 锁定
});
}
}
开启之后,以下几个请求就是有区别的了:
// http://localhost:8080/test/Demo
// http://localhost:8080/test/demo
// http://localhost:8080/test/deMo
//需要三个接口去对应
@Mapping("test")
@Controller
public class DemoController{
@Mapping("Demo")
public void demo1(){
}
@Mapping("demo")
public void demo2(){
}
@Mapping("deMo")
public void demo2(){
}
}
如果不开启?这三个请求是一样的:
// http://localhost:8080/test/Demo
// http://localhost:8080/test/demo
// http://localhost:8080/test/deMo
//由一个接口去对应
@Mapping("test")
@Controller
public class DemoController{
@Mapping("demo")
public void demo2(){
}
}
在使用 “ctx.path()” 做比对时。。。建议改用:“ctx.pathAsUpper()、ctx.pathAsLower()” 做比对。