SpringBoot的@RestController注解

2020-05-18  本文已影响0人  熙航君
@RestController

在Spring中@RestController的作用等同于@Controller + @ResponseBody
@Controller注解,表明了这个类是一个控制器类
@RequestMapping注解是用来映射请求的,即指明处理器可以处理哪些URL请求,该注解既可以用在类上,也可以用在方法上。
当使用@RequestMapping标记控制器类时,方法的请求地址是相对类的请求地址而言的;当没有使用@RequestMapping标记类时,方法的请求地址是绝对路径。

@Controller
@RequestMapping("/user")
public class UserController{
    @RequestMapping("/users")
    public String users() {
        return "users";
   }
}

此时请求users方法的url路径就是:.../user/users。
可以看到上面users方法的返回值是字符串类型的,这个就是处理器在处理完任务后将要跳转的页面。如果想要方法直接返回结果,而不是跳转页面,这就要用到@ResponseBody注解了。
@ResponseBody表示方法的返回值直接以指定的格式写入Http response body中,而不是解析为跳转路径。
格式的转换是通过HttpMessageConverter中的方法实现的,因为它是一个接口,因此由其实现类完成转换。
如果要求方法返回的是json格式数据,而不是跳转页面,可以直接在类上标注@RestController,而不用在每个方法中标注@ResponseBody,简化了开发过程。

上一篇下一篇

猜你喜欢

热点阅读