@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}格式传入的数据参数