目录
@ApiOperation(value = "",notes="")
@PutMapping("/products/update")
@GetMapping("/products/detail")
@DeleteMapping("/products/delete")
@RestController:
@RestController注解相当于@ResponseBody + @Controller合在一起的作用
1.如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html。
2.如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。
3.如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。
@Service
如果一个类带了@Service注解,将自动注册到Spring容器,不需要再在applicationContext.xml文件定义bean了,
类似的还包括@Component、@Repository、@Controller。
@ResponseBody
作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML
数据,需要注意的呢,在使用此注解之后不会再走试图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。
@Slf4j
实现日志输出
@Api(tags ="",value="")
用在请求的类上,表示对类的说明
tags="说明该类的作用,可以在UI界面上看到的注解"
value="该参数没什么意义,在UI界面上也看到,所以不需要配置"
@ApiOperation(value = "",notes="")
用在请求的方法上,说明方法的用途、作用
value="说明方法的用途、作用"
notes="方法的备注说明"
@ApiImplicitParams:
用在请求的方法上,表示一组参数说明
@ApiImplicitParams:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
name:参数名
value:参数的汉字说明、解释
required:参数是否必须传
paramType:参数放在哪个地方
· header --> 请求参数的获取:@RequestHeader
· query --> 请求参数的获取:@RequestParam
· path(用于restful接口)--> 请求参数的获取:@PathVariable
· body(不常用)
· form(不常用)
dataType:参数类型,默认String,其它值dataType="Integer"
defaultValue:参数的默认值
@ApiResponses:
用在请求的方法上,表示一组响应
@ApiResponses:用在@ApiResponses中,一般用于表达一个错误的响应信息
code:数字,例如400
message:信息,例如"请求参数没填好"
response:抛出异常的类
@ApiModel:
用于响应类上,表示一个返回响应数据的信息(这种一般用在post创建的时候,使用@RequestBody这样的场景,
请求参数无法使用@ApiImplicitParam注解进行描述的时候)
@ApiModelProperty:
用在属性上,描述响应类的属性
value–字段说明
name–重写属性名字
dataType–重写属性类型
required–是否必填
example–举例说明
hidden–隐藏
@Valid
用于验证注解是否符合要求,直接加在变量user之前,在变量中添加验证信息的要求,当不符合要求时就会在方法中返回message的错误提示信息。
@Null 限制只能为null
@NotNull 限制必须不为null
@AssertFalse 限制必须为false
@AssertTrue 限制必须为true
@DecimalMax(value) 限制必须为一个不大于指定值的数字
@DecimalMin(value) 限制必须为一个不小于指定值的数字
@Digits(integer,fraction) 限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过fraction
@Future 限制必须是一个将来的日期
@Max(value) 限制必须为一个不大于指定值的数字
@Min(value) 限制必须为一个不小于指定值的数字
@Past 限制必须是一个过去的日期
@Pattern(value) 限制必须符合指定的正则表达式
@Size(max,min) 限制字符长度必须在min到max之间
@Past 验证注解的元素值(日期类型)比当前时间早
@NotEmpty 验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0)
@NotBlank 验证注解的元素值不为空(不为null、去除首位空格后长度为0),
不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格
@Email 验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email格式
@Autowired
它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。
@ApiIgnore
加注解在类或者方法上
表示在swagger页面,忽略掉这个类或者方法,不显示
@Data
注解在类上, 为类提供读写属性, 此外还提供了 equals()、hashCode()、toString() 方法
@NoArgsConstructor
是Lombok插件三种生成不同构造方法的注解之一,来完成项目中不同构造方法的需求。
生成一个无参数的构造方法
@RequiredArgsConstructor
是Lombok插件三种生成不同构造方法的注解之一,来完成项目中不同构造方法的需求。
?会生成一个包含所有变量
@AllArgsContructor
是Lombok插件三种生成不同构造方法的注解之一,来完成项目中不同构造方法的需求。
会生成一个包含常量,和标识了NotNull的变量的构造方法。生成的构造方法是私有的private
@RequestMapping
如果没有指定请求方式,将接收Get、Post、Head、Options等所有的请求方式
@PostMapping("/products/add")
是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。
@PutMapping("/products/update")
@GetMapping("/products/detail")
是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。该注解将HTTP Get 映射到 特定的处理方法上。