SpringMVC
虽然说的是SpringBoot,但把SpringMVC将的很好,正是SpringMVC应用到SpringBoot中非常典型的应用方式。
多数SpringBootWeb的项目,都是用MVC,在SpringBoot的应用中,MVC变得极为简单,其不再需要单独的配置文件,要添加资源的映射和拦截器,跨域的配置,都可以通过实现WebMvcConfigurer,然后再其实实现相应的 方向即可添加这些自定义的功能。
处理器映射
最常用的五个请求类型:GET,POST,DELETE,PUT,OPTIONS
http有很多个请求类型,目前我只用过这五个。
一个协议对象的注解为
@RequstMapping("path")
@GetMapping,@PostMapping,@DeleteMapping @PutMapping
上面这五个注解的用法是一样的,但RequestMapping默认可以接收到五个请求类型,特定的请求类型需要使用特定的请求类型注解,Request也可以指定请求类型
其实这些都不是重点,你不能指望这篇文章提高你的MVC基础水平。
书中大量引用了URL参数,但这是不推荐的,固定的资源可以用URL路径传递值,动态的数据则使用POST进行请求。
自定义参数转换规则
第一,知道有这个东西,第二,知道怎么用。
需求:将Request请求的参数转成对象,1-username
Path参数,Request参数,都可以在自己的规则进行转换
下面是转换时候用的类,他会自动注入到容器中,供使用
返回的值就是,转换的类的类名
数据验证
首先你需要知道一些基础的注解
这些注解都有一个属性为message,就是报错之后需要传递的属性
然后就是自定义校验器
自定义的验证需要添加到WebDataBinder内,才则绑定成功
拦截器
拦截器会根据添加的顺序进行执行,拦截器执行完后,需要返回一个boolean类型的值 ,如果为true则继续执行,为false则停止。
整体而言,是一个拦截器链,但会根据拦截器的执行 顺序。
拦截器有三个方法,分别是拦截前(preHandler),拦截后(postHandler),请求完成(afterHandler)
拦截器的实现就是实现 HandlerInteceptor,并且可以给对应的拦截器添加匹配的拦截规则