@Controller、@RestController、@ResponseBody、@RequestBody、@PathVariable区别()-其他
@Controller、@RestController、@ResponseBody、@RequestBody、@PathVariable区别()
@Controller
- @Controller用于标记在一个类上,使用它标记的类就是一个SpringMVC的 Controller类,分发处理器会扫描使用该注解的类的方法,并检测该方法是否使用了 @RequestMapping 注解。
- @RequestMapping 注解:默认为get请求,添加value属性即可指定访问地址,method属性指定get或post请求;
@RequestMapping(value = “/”,method = RequestMethod.POST)等价于@PostMapping(“/”) - @Controller只是定义了一个控制器类,而使用 @RequestMapping 注解的方法才是处理请求的处理器。
@RestController
- 加在类上面的注解,标注该类里的方法返回数据以JSON格式返回给前端,如果不加这个注解,必须return一个html/JSP对象
- 相当于@Controller + @ResponseBody
@ResponseBody
加在方法上面的注解,标注该方法返回数据以JSON格式返回给前端
@RequestBody
后端接收参数时在参数前加的注解,表示接收的参数为前端在body中以JSON格式传入的数据参数
@PathVariable
后端接收参数时在参数前加的注解(@PathVariable(name = “bookId”)),表示接收的参数为前端在URL访问中以/{bookId}格式传入的数据参数
————————
@Controller
- @Controller用于标记在一个类上,使用它标记的类就是一个SpringMVC的 Controller类,分发处理器会扫描使用该注解的类的方法,并检测该方法是否使用了 @RequestMapping 注解。
- @RequestMapping 注解:默认为get请求,添加value属性即可指定访问地址,method属性指定get或post请求;
@RequestMapping(value = “/”,method = RequestMethod.POST)等价于@PostMapping(“/”) - @Controller只是定义了一个控制器类,而使用 @RequestMapping 注解的方法才是处理请求的处理器。
@RestController
- 加在类上面的注解,标注该类里的方法返回数据以JSON格式返回给前端,如果不加这个注解,必须return一个html/JSP对象
- 相当于@Controller + @ResponseBody
@ResponseBody
加在方法上面的注解,标注该方法返回数据以JSON格式返回给前端
@RequestBody
后端接收参数时在参数前加的注解,表示接收的参数为前端在body中以JSON格式传入的数据参数
@PathVariable
后端接收参数时在参数前加的注解(@PathVariable(name = “bookId”)),表示接收的参数为前端在URL访问中以/{bookId}格式传入的数据参数