目录
(2)用 @RequestMapping 处理 HTTP 的各种方法
一、Controller层
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
/**
* 查询用户列表
*/
@RequiresPermissions("user:list")
@GetMapping("/list")
public JSONObject listUser(HttpServletRequest request) {
return userService.listUser(CommonUtil.request2Json(request));
}
@RequiresPermissions("user:add")
@PostMapping("/addUser")
public JSONObject addUser(@RequestBody JSONObject requestJson) {
CommonUtil.hasAllRequired(requestJson, "username, password, nickname, roleIds");
return userService.addUser(requestJson);
}
@RequiresPermissions("user:update")
@PostMapping("/updateUser")
public JSONObject updateUser(@RequestBody JSONObject requestJson) {
CommonUtil.hasAllRequired(requestJson, " nickname, roleIds, deleteStatus, userId");
return userService.updateUser(requestJson);
}
@RequiresPermissions(value = {"user:add", "user:update"}, logical = Logical.OR)
@GetMapping("/getAllRoles")
public JSONObject getAllRoles() {
return userService.getAllRoles();
}
Controller层是Spring Boot应用程序的入口点,通常处用于理请求的输入和输出,并负责验证输入数据的有效性。它将http请求参数传递给Service层,然后将Service层的处理结果封装成适当的响应返回给客户端。
1.2Controller层重要注解:
- @Controller
- @RequestMapping
- @ResponseBody
- @RestController
- @GetMapping
- @PostMapping
1.3@Controller
当Spring检测到@Controller注解时,将其自动注册为Controller对象
1.4@RequestMapping
(1)基础用法
@RequestMapping 注解用于将任意HTTP 请求映射到控制器方法上,可以在控制器类上和控制器类中的方法上使用。
@RequiresPermissions("user:list")
@GetMapping("/list")
public JSONObject listUser(HttpServletRequest request) {
return userService.listUser(CommonUtil.request2Json(request));
}
如上述代码所示,到 /user:list的请求会由 listUser(HttpServletRequest request)方法来处理,
用于将任意HTTP 请求映射到控制器方法上。