项目笔记2022/6/20
@RequestBody注解
说明:该注解标注在控制器方法的参数前,用于前端传递给后端json字符串中的数据,将json数据反序列化为Java对象,并且只能存在一个。
使用场景:1.请求的方式为post,put,delete
2.请求体的内容类型为json
知识补充:Http传递参数一般有两种方式,一种是通过url解析参数,一种是通过请求体(body)来解决。get请求体包括:请求行,请求头;post请求包括:请求行,请求头,请求体。故get请求无法使用@RequestBody。
@RequestParam
说明:该注解标注在控制器方法的参数前,用于接受url中的参数并捆绑到方法的参数中,可以存在多个。
使用场景:1. url 请求方式为get,支持的Content-Type:
2.Body 请求方式post,put,delete
@PathVariable
说明:映射url绑定的占位符,将url中的占位符参数绑定到控制器处理方法的参数中
使用场景:1.若方法参数名和需要绑定的url中变量一致时可以简写 @PathVariable String name
2.不一致时:@PathVariable(“name”)String username
@RestController
说明:为@Controller+@ResponseBody的组合注解,即返回的是String,Object,Json等实体对象,使用该注解无需再将对象转换成json发送到前端,@Response注解会自动解析成json发送
@ResponstBody:如果没有该注解就会走视图解析器返回页面,加上该注解后就会直接返回json数据到前端,也就是走ajax请求
@Controlle注解是可以返回指定页面的,经过视图解析器处理后是可以跳转到指定页面,配合视图解析器。