spring boot相关注解的理解

controller层:

@RestController

相当于@Controller + @ResponseBody,在controller层,将返回的数据以特定的格式返回给前端

@RequestMapping("/student")

@RequestMapping来映射URL,添加在controller类上充当一级目录的作用,添加在方法上默认类型请求为get等同于@GetMapping

@PostMapping  

post请求方式

@GetMapping

get请求方式,可以在前端直接传送data对象,用@RequestBody来接收,也可以写在url里进行传递参数例如@GetMapping("/student/{id}"),而方法中只需要使用@PathVariable来接收即可,切记@PathVariable接收参数的名称必须要和url中的名称对应

例如:

@PostMapping("/student/{id}")
public ResultJson student(@PathVariable id,@RequestBody Student student){
       
}

@Autowired

可以理解为对某个类的自动装配,注入相关依赖

@ApiVersion(1)

表明API版本号

@PreAuthorize("hasAuthority('/student')")

是SpringSecurity提供的权限安全认证注解。是在进入方法前进行权限验证,@PreAuthorize 声明这个方法所需要的权限表达式

@ApiImplicitParams

作用在方法上,用于包含多个 @ApiImplicitParam,用法示例:

@ApiImplicitParams({@ApiImplicitParam(name = "Authorization", value = "Authorization token", required = true, dataType = "string", paramType = "header")})
各个参数说明: 
   1. name :参数名。 
   2. value : 参数的具体意义,作用。 
   3. required : 参数是否必填。 
   4. dataType :参数的数据类型。 
   5. paramType :查询参数类型,这里有几种形式:
        path 以地址的形式提交数据
        query 直接跟参数完成自动映射赋值
        body 以流的形式提交 仅支持POST
        header 参数在request headers 里边提交
        form 以form表单的形式提交 仅支持POST

@PathVariable

我对这个注解的理解就是接收的参数名与url中的请求参数名必须一致,并且是必传参数

@RequestBody

@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的),所以只能发送POST请求。

GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。

在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。

@RequestBody 与@RequestParam()可以同时使用时,原SpringMVC接收参数的机制不变,只不过RequestBody 接收的是请求体里面的数据;而RequestParam接收的是key-value里面的参数,所以它会被切面进行处理从而可以用普通元素、数组、集合、对象等接收

domain层:

@Builder自动生成无参的构造函数

@Data自动生成get set方法

@TableName()表名注解,标识实体类对应的数据库表

@Table(type=IdType.AUTO)表的主键,自增

@TableField(fill = FieldFill.INSERT)当插入数据时,自动填充时间

@TableField(fill = FieldFill.INSERT_UPDATE)当更新数据时,自动更改时间

自动填充的这两个功能,都是基于MP的自动填充功能

@JsonFormat时间格式化注解,比如我们存储在mysql中的数据是date类型的,当我们读取出来封装在实体类中的时候,就会变成英文时间格式,而不是yyyy-MM-dd HH:mm:ss这样的中文时间,因此我们需要用到JsonFormat注解来格式化我们的时间。简而言之,将数据库中的data类型的时间格式化为yyyy-MM-dd HH:mm:ss。
 

@ApiModelProperty是swagger的注解,它的作用是添加和操作属性模块的数据

例如:

@ApiModelProperty(value = "创建时间") 参数类型为String,作用为此属性的简要描述。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值