SpringBoot 中 @RestController 和 @Controller 的區別
阿新 • • 發佈:2019-03-27
book 兩種 col ted method ping wire json 區別
1 - 在springboot
中,@RestController
相當於 @Controller + @ResponseBody
;
2 - 即在Controller
類中,若想返回jsp
或html
頁面,則不能用@RestController
,只能使用@Controller
;
3 - 若返回的是json
或xml
數據,可以有兩種寫法:
1. @RestController註解,然後直接return json數據即可;
2. @Controller註解放類之前,然後若類中某個方法需要返回json數據,則需在該方法前添加@ResponseBody註解;
【示例】:
@RestControllerpublic 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 的區別