Spring boot使用@Controller注解会在响应中返回字符串而不是渲染后的模板
时间: 2024-02-11 21:04:50 浏览: 223
@RestController和@Controller注解的区别1
是的,@Controller 注解默认情况下会返回一个字符串,而不是渲染后的模板内容。如果需要返回渲染后的模板,可以在方法上添加 @ResponseBody 注解或者使用 @RestController 注解。在使用 @ResponseBody 注解时,Spring Boot 会自动使用视图解析器来渲染模板,但需要注意的是,需要在 pom.xml 中添加对应的视图解析器依赖。如果使用 @RestController 注解,则可以直接返回对象,Spring Boot 会自动将其转换为 JSON 格式返回给客户端。
下面是一个使用 @Controller 注解返回渲染后模板的示例:
```
@Controller
public class MyController {
@GetMapping("/hello")
public String hello(Model model) {
model.addAttribute("name", "World");
return "hello";
}
}
```
在这个示例中,我们定义了一个控制器类 MyController,其中的 hello 方法使用了 @GetMapping 注解来指定请求 URL。在方法中,我们使用了 Model 对象来设置模板中需要渲染的数据,然后返回了一个字符串 "hello",这个字符串对应的是一个模板的名称,Spring Boot 会自动使用视图解析器来渲染该模板,并返回给客户端。
阅读全文