@restcontroller
时间: 2024-02-13 13:57:39 浏览: 107
spring4.0 RestController.docx
@RestController是Spring框架中的注解,它的作用相当于@Controller和@ResponseBody的结合体。@Controller注解用于定义控制器类,而@ResponseBody注解用于将方法的返回值转换为指定格式(如JSON、XML等)的响应体,并将其写入到HttpServletResponse对象中。因此,@RestController注解可以使得控制器类中的所有方法都默认返回JSON或XML格式的数据,而不需要在每个方法上都添加@ResponseBody注解。
下面是一个使用@RestController注解的示例:
```java
@RestController
public class UserController {
@GetMapping("/users")
public List<User> getAllUsers() {
List<User> userList = userService.getAllUsers();
return userList;
}
@GetMapping("/users/{id}")
public User getUserById(@PathVariable Long id) {
User user = userService.getUserById(id);
return user;
}
@PostMapping("/users")
public User addUser(@RequestBody User user) {
User newUser = userService.addUser(user);
return newUser;
}
@PutMapping("/users/{id}")
public User updateUser(@PathVariable Long id, @RequestBody User user) {
User updatedUser = userService.updateUser(id, user);
return updatedUser;
}
@DeleteMapping("/users/{id}")
public void deleteUser(@PathVariable Long id) {
userService.deleteUser(id);
}
}
```
在上面的示例中,@RestController注解被用于控制器类UserController上,因此该类中的所有方法都会默认返回JSON或XML格式的数据。同时,每个方法上的请求映射注解(如@GetMapping、@PostMapping等)用于定义该方法处理的HTTP请求类型和请求路径,而@RequestBody注解用于将请求体中的JSON或XML数据转换为Java对象。
阅读全文