@ResrConttroller和@Controller的区别

@RestController注解相当于@ResponseBody + @Controller合在一起的作用。

 

@ResponseBody的作用其实是将java对象转为json格式的数据。

@ResponseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。
注意:在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。

   如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。


@Controller
public class UserController {
@Resource
private UserMapper userMapper;

@GetMapping("/getAll")
@ResponseBody
public List<User> getAll(){
return userMapper.getAll();
}
}
@RestController
public class UserController {
    @Resource
    private UserMapper userMapper;

    @GetMapping("/getAll")
    public List<User> getAll(){
        return userMapper.getAll();
    }
}

两者效果是一样的:

 

posted @ 2020-12-24 10:20  迷失外太空  阅读(179)  评论(0)    收藏  举报