java中controller中的请求路由

在controller中有不同的请求,有携带参数的,也有不带参数的,在带参数中有固定参数和不固定的参数,需要进行路由去匹配参数。

第一种:不带参数路由,这种是get请求,没有携带任何参数,如果是post请求可能就会携带参数了,因为post中可能携带了对象参数。

@GetMapping("/fileList")
    public List getFile(){
//具体方法
    }

第二种:携带参数restful风格,把参数携带在get请求后面,在通过@PathVariable与参数绑定

@GetMapping("/getArcGis/{layername}")
    public void cs(@PathVariable(value = "layername") String layername){
//具体方法
}

第三种:不确定参数,在请求种可能在某个/后面全是参数,这个时候参数就是不确定的,需要通过路由来读取,这时我们需要通过HttpServletRequest去获取参数,并提取自己需要的参数。

 @GetMapping("/getInfo/{layername}/**")
    @SneakyThrows
    public void getInfo(@PathVariable(value = "layername") String layername, HttpServletRequest request, HttpServletResponse response) {
        String basePath = "/getInfo/" + layername + "/";
        //获取/后面的参数
        String pathName = request.getServletPath().replaceFirst("^" + Pattern.quote(basePath), "");
}

你可能感兴趣的:(java,spring,boot)