一.首先要知道@RestController 与 @Controller的区别
1.@RestController
@RestController
public class TeacherController {
@RequestMapping("/hello")
public String test(Model model){
model.addAttribute("msg","你好");
return "/hello";
}
}
- @RestController 在 Spring MVC 中就是 @Controller 和 @ResponseBody 注解的集合
- return “hello" 不会返回hello.html页面,会直接输出hello字符串
- 如果需要返回到hello.html界面需要 return"/hello"
2.@Controller
- 在Controller注解下 return"hello",会直接返回到templates下的hello.html界面
- 如果需要返回其他类型数据需要在方法上方加@ResponseBody注解
-例如
@Controller
public class TeacherController {
@Autowired
private TeacherMapper teacherMapper;
@RequestMapping("/teacherList")
@ResponseBody
public List<Teacher> queryTeacherList(){
List<Teacher> teacherList = teacherMapper.queryTeacherList();
for (Teacher teacher : teacherList) {
System.out.println(teacher);
}
return teacherList;
}