Sping注解
2023-03-27 11:18 猎手家园 阅读(38) 评论(0) 编辑 收藏 举报@Validated注解:可以用在类型,方法和方法参数上,但是不能用在成员属性上。
@Validation是一套帮助我们继续对传输的参数进行数据校验的注解,通过配置Validation可以很轻松的完成对数据的约束。
@PathVariable 映射 URL 绑定的占位符。通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过
@PathVariable(“xxx”) 绑定到操作方法的入参中。一般与@RequestMapping(method = RequestMethod.GET)一起使用
@RequestMapping("/getUserById/{name}") public User getUser(@PathVariable("name") String name){ return userService.selectUser(name); }
@RequestParam:将请求参数绑定到你控制器的方法参数上(是springmvc中接收普通参数的注解)
/** * 接收普通请求参数 * http://localhost:8080/test/a?name=zhangsan * url参数中的name必须要和@RequestParam("name")一致 * @return */ @RequestMapping("a") public void test1(@RequestParam("name")String name){ sout(name); //结果输出的是zhangsan }
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的),所以只能发送POST请求。
GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。
在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。
注1:一个请求,只有一个RequestBody;一个请求,可以有多个RequestParam。
注2:当同时使用@RequestParam()和@RequestBody时,@RequestParam()指定的参数可以是普通元素、数组、集合、对象等等(即:当,@RequestBody 与@RequestParam()可以同时使用时,原SpringMVC接收参数的机制不变,只不过RequestBody 接收的是请求体里面的数据;而RequestParam接收的是key-value里面的参数,所以它会被切面进行处理从而可以用普通元素、数组、集合、对象等接收)。