首页 > 编程语言 > 详细

SpringBoot 中 @RestController 和 @Controller 的区别

时间:2019-03-27 21:34:21      阅读:158      评论:0      收藏:0      [点我收藏+]

1 - 在springboot中,@RestController 相当于 @Controller + @ResponseBody;
2 - 即在Controller类中,若想返回jsphtml页面,则不能用@RestController,只能使用@Controller
3 - 若返回的是jsonxml数据,可以有两种写法:

1. @RestController注解,然后直接return json数据即可;
2. @Controller注解放类之前,然后若类中某个方法需要返回json数据,则需在该方法前添加@ResponseBody注解;

【示例】:

@RestController
public class BookController {
    @Autowired
    private BookRepository bookRepository;
    
    /** 
     * 返回所有书籍的信息
     * @return
     */
    @RequestMapping(value = "/books", method = RequestMethod.GET)
    public List<Book> bookList(){
        return bookRepository.findAll();
    }
}
@Controller
public class BookController2 {
    @Autowired
    private BookRepository bookRepository;
    
    /** 
     * 返回所有书籍的信息
     * @return
     */
    @RequestMapping(value = "/books", method = RequestMethod.GET)
    @ResponseBody
    public List<Book> bookList(){
        return bookRepository.findAll();
    }
}

SpringBoot 中 @RestController 和 @Controller 的区别

原文:https://www.cnblogs.com/zishu/p/10610842.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!