Solon v3.0.3

Url 大小写匹配与事项注意

</> markdown

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