@Controller 和 @RestController 实例
时间: 2023-02-16 07:50:30 浏览: 123
@Controller 注解是用于标记控制器组件的类的注解,控制器组件负责处理来自用户的请求并返回相应的视图或数据。
@RestController 注解是一个组合注解,包含 @Controller 和 @ResponseBody 两个注解。这意味着,当使用 @RestController 注解时,所有的方法都会返回 JSON 数据,而不是视图。
例如:
```
@Controller
public class MyController {
@RequestMapping("/greeting")
public String greeting(@RequestParam(value="name", required=false, defaultValue="World") String name, Model model) {
model.addAttribute("name", name);
return "greeting";
}
}
```
```
@RestController
public class MyController {
@RequestMapping("/greeting")
public Greeting greeting(@RequestParam(value="name", required=false, defaultValue="World") String name) {
return new Greeting(name);
}
}
```
在第一个例子中,方法 `greeting()` 返回视图的名称,而在第二个例子中,方法 `greeting()` 返回了一个 `Greeting` 对象,这个对象会被自动转换为 JSON 格式的数据。
阅读全文