springboot (4.13部分注解:详细了解)

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
用法:

  1. 在方法参数中传入Model并设定Model
  2. 直接指定方法的返回值,会自动在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:验证字符串是否符合正则式

你可能感兴趣的:(spring)