关于springboot遇到的一些注解

在SSM转springboot的时候遇到一些注解

如下
@RestController
@ResponseBody
@RequestBody
@RequestParam
@Param

@RestController 和@ResponseBody

首先解释下这个,它就是@RequestBody和@Controller的结合,当只有@Controller时,该controller层可以进行页面的跳转和数据的传输,页面跳转就是@ResquestMapping,@GetMapping等等,数据传输还得再加上@ResponseBody,如果不想加两个注解,可以用@RestController代替。

总结:
1.含有页面跳转和数据返回的用@Controller
2.只要求数据返回,如前后端分的后端的controller层,可以加@RestControlle,这样每个方法就不用加@ResponseBody

@RequestParam和@RequestBody

@RequestParam传的是个别参数,一般@RequestParam(“参数名”)数据类型 参数名,可以有多个,解决前后端参数不一致的问题。@RequestBody传的是对象,只能有一个,当然,对象里也可以只有一个有效参数。

他两的区别见名知意:
@RequestParam,请求的数据,他的数据直接来自于url,如/localhost:8080/admin/getById?id=1,

(这里小提一下一个相同的方法,即restful风格,如/localhost:8080/admin/getById等同于上面的,controller的地址需要写成@RequestMappering("/admin/getById/{id}"),关键是参数,@RequestParam替换成@PathVariable),

@RequestBody,即请求体,地址和上面的区别是 /localhost:8080/admin/getById,一般用于post,因为它不是在url进行传值,在请求体中,所以会安全点。

@Param

这个注解一般用于Dao层,应用于mybatis中,一般如果参数名和sql的字段名不一致的时候,可以使用 @Param进行校正。

猜你喜欢

转载自blog.csdn.net/weixin_41487978/article/details/106862801