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()” 做比对。