【发布时间】:2022-01-16 12:21:23
【问题描述】:
我有抽象类 Employee
public abstract class Employee {
private int employeeId;
private String name;
}
我还有两个扩展Employee 的具体类,即OfficeEmployee 和HomeEmployee,它们目前是空的。
这是我的控制器:
@RestController
@RequestMapping("/api/employee")
public class EmployeeController {
@Autowired
private EmployeeService employeeService;
@PostMapping("/office")
public EmployeeResponse saveOfficeEmployee(@RequestBody OfficeEmployee request) {
return employeeService.save(request);
}
@PostMapping("/home")
public EmployeeResponse saveHomeEmployee(@RequestBody HomeEmployee request) {
return employeeService.save(request);
}
}
最后是 EmployeeService 类:
@Service
public class EmployeeService {
@Autowired
private EmployeeRepository employeeRepository;
public Employee save(Employee request) {
// here i think i should do something like this: Employee employee = new OfficeEmployee or
// Employee employee = new HomeEmployee();
Employee employee = employeeRepository.save(employee);
return employee;
}
}
如何确定我从POST 请求中得到了哪些员工?我处理这个问题有错吗?
【问题讨论】:
标签: java spring rest polymorphism