Я пытаюсь создать API, который имеет отношение ManyToOne.Речь идет о сотруднике и подразделении.Вот что у меня есть:
@Entity
@Table
public class Employee {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
private Long Id;
private String name;
@ManyToOne(fetch=FetchType.LAZY)
private Department department;
//SETTERS AND GETTERS, TWO CONSTRUCTORS
}
Класс отдела
@Entity
@Table
public class Department {
@Id
@GeneratedValue
private Long Id;
private String name;
//SETTERS AND GETTERS, TWO CONSTRUCTORS
}
Контролер сотрудника
@RestController
public class EmployeeController {
@Autowired
EmployeeService employeeService;
@PostMapping("/employee")
public Employee create (@RequestBody Employee employee){
return employeeService.create(employee);
}
}
Контролер отдела
@RestController
public class DepartmentController {
@Autowired
private DepartmentService departmentService;
@PostMapping("/departments")
public Department create(@RequestBody Department department) {
return departmentService.create(department);
}
}
Мне нужнодобавить отдел, а затем добавить и сотрудника, который принадлежит этому отделу.
Это запрос POST для Отдела, и он работает.
{
"id": 2,
"name": "Depto"
}
Мне нужно добавить этот отдел к сотруднику
{
"id": 2,
"name": "Employee",
"department": 2
}
Это ошибка, которую яполучил:
.HttpMessageNotReadableException: Could not read document: Cannot construct instance of 'mypackage.Department' (although at least one Creator exists): no int/Int-argument constructor/factory method to deserialize from Number value (2)