在controller中有不同的请求,有携带参数的,也有不带参数的,在带参数中有固定参数和不固定的参数,需要进行路由去匹配参数。
第一种:不带参数路由,这种是get请求,没有携带任何参数,如果是post请求可能就会携带参数了,因为post中可能携带了对象参数。
@GetMapping("/fileList")
public List<String> 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), "");
}