@Controller @RequestMapping("/employee") public class EmployeeController { @Autowired private EmployeeService employeeService; @GetMapping public ResponseEntity> getAllEmployees() { List
employees = employeeService.getAllEmployees(); return new ResponseEntity<>(employees, HttpStatus.OK); } @GetMapping("/{id}") public ResponseEntity getEmployeeById(@PathVariable("id") long id) { Employee employee = employeeService.getEmployeeById(id); if (employee != null) { return new ResponseEntity<>(employee, HttpStatus.OK); } else { return new ResponseEntity<>(HttpStatus.NOT_FOUND); } } @PostMapping public ResponseEntity createEmployee(@RequestBody Employee employee) { Employee createdEmployee = employeeService.createEmployee(employee); return new ResponseEntity<>(createdEmployee, HttpStatus.CREATED); } @PutMapping("/{id}") public ResponseEntity updateEmployee(@PathVariable("id") long id, @RequestBody Employee employee) { Employee updatedEmployee = employeeService.updateEmployee(id, employee); if (updatedEmployee != null) { return new ResponseEntity<>(updatedEmployee, HttpStatus.OK); } else { return new ResponseEntity<>(HttpStatus.NOT_FOUND); } } @DeleteMapping("/{id}") public ResponseEntity deleteEmployee(@PathVariable("id") long id) { boolean deleted = employeeService.deleteEmployee(id); if (deleted) { return new ResponseEntity<>(HttpStatus.NO_CONTENT); } else { return new ResponseEntity<>(HttpStatus.NOT_FOUND); } } }
该案例展示了如何使用SpringMVC构建一个基本的员工管理系统接口。通过使用@Controller注解,我们定义了处理员工相关请求的控制器类EmployeeController。
在该控制器类中,我们使用@Autowired注解自动注入了EmployeeService,来处理与员工相关的业务逻辑。
通过使用@GetMapping注解,我们定义了用于获取所有员工、按照员工ID获取员工以及创建员工的方法。
同样地,@PutMapping注解用于更新员工信息,@DeleteMapping注解用于删除员工信息。
在每个方法的实现中,我们调用了EmployeeService中的相应方法来处理员工的业务逻辑,并根据处理结果返回不同的HTTP状态码和响应体。
通过这个案例,我们可以初步了解如何使用SpringMVC构建一个简单的RESTful风格的接口,并实现员工管理的相关操作。