SpringMVC的Controller学习
@RequestMapping:
value:请求的路径(只是用此参数时,value可以省略)value="/"
method:HTTP请求方法,method+RequestMethod.GET
(GetMapping、PostMapping\PutMapping\DeleteMapping)
consumes:设定容许的媒体类型、consumes=“application/json”
produces:设定容许响应的媒体类型,produces=“application/json”
params:设定请求必须包含参数(与方法参数对应),params=“action=update”
headers:设定HTTP请求必须包含的参数,header=“app=xxx”
@PathVariable
用于方法接收URL路径中的参数
http://localhost:8080/?id=1
对应方法public String hello(@PathVariable(“id”)String id){
return id
}
Model和ModelAndView
用于传递视图需要的数据
Model 与ModelAndView类似,不同就是ModelAndView可以设定转向地址
@ModelAttribute
用于在Controller中最先调设定Model
用法:
- 在方法参数中传入Model并设定Model
- 直接指定方法的返回值,会自动在Model中设定
接收HTTP参数
在方法中设定的参数名与HTTP中参数相同
@RequestParam
作用是进一步设定参数
value:指定参数名,value=“id”
required:指定参数是否为必须,required=true
defaultValue:指定默认值
MultipartFile
用于上传文件,可以接收多个文件
isEmpty:是否为空
getOriginalFilename:获取源文件名称
getSize:获取文件大小
对上传的配置
在项目中的application.yml中设置:
spring:
servlet:
multipart:
enable:true //是否启用
file-size-threshold:0//设置当上传文件大小到多少时写入临时文件
location://指定临时文件位置
max-file-size://单个文件最大值
max-request-siz://指定单次上传的总大小
resolve-lazily:false://是否启动懒加载
参数校验
@Null:对象是否为空
@NoNull:对象不为空
@NotBlank:对象不为空和不为空字符串
@NotEmpty:对象不为空或集合不为空
@Size(min=,max=):对象长度,包括集合
@Length:字符串长度
@Min:数字最小值
@Max:数字最大值
@Digits:数字是否符合指定格式
@Rance:数字是否在指定范围
@Email:验证电子邮寄格式
@Pattern:验证字符串是否符合正则式
本文详细解析SpringMVC的Controller组件,涵盖@RequestMapping注解的使用,如value、method、consumes、produces等属性,以及@PathVariable、Model、ModelAndView、@ModelAttribute、MultipartFile等关键概念。同时介绍了参数校验的方法,如@Null、@NotNull、@NotBlank等。
7254

被折叠的 条评论
为什么被折叠?



