springboot的controller层有两个主要注解@RestController和@Controller,它们标记了一个类是Controller,但有一些区别。
1、@RestController相当于@Controller和@ResponseBody的结合。
2、在controller类中,若想返回json或xml,有两种写法:
- 在该controller类上加上@RestController注解,然后直接return json数据即可;
- 在该controller类上加上@Controller注解,然后再在类上或者需要返回json数据的方法上加上@ResponseBody注解。
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "Hello!";
}
}
@Controller
public class HelloController {
@RequestMapping("/hello")
@ResponseBody
public String hello() {
return "Hello!";
}
}
3、在controller类中,若想返回jsp或html页面,则不能使用@RestController,必须使用@Controller;并且需要添加一个模版引擎依赖thymeleaf。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
本文详细解析了SpringBoot中@Controller与@RestController两个核心注解的区别及应用。介绍了如何使用这些注解返回JSON/XML数据,以及在需要返回HTML/JSP页面时的正确实践。并提到了模板引擎Thymeleaf的配置。
3806

被折叠的 条评论
为什么被折叠?



