我正在尝试使用 HAL 链接和自定义方法构建一个安静的控制器。当我使用来自 PersistentEntityResourceAssembler(HAL 链接)的 getResources 时,这会导致 NullPointer。
堆栈跟踪
java.lang.NullPointerException: null
at pl.com.tt.sok.core.component.attendance.entity.PersonAttendanceListBuilder.addAttendance(PersonAttendanceListBuilder.java:37)
at pl.com.tt.sok.core.component.attendance.service.AttendanceStatusService.createAttendanceListForPersonBasedOnRequestedDates(AttendanceStatusService.java:50)
at pl.com.tt.sok.core.controller.attendance.AttendanceStatusController.getPersonAttendanceList(AttendanceStatusController.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497) ...
人员出勤列表生成器
@Autowired
private PersistentEntityResourceAssembler assembler;
(...)
private PersistentEntityResourceAssembler assembler;
public PersonAttendanceListBuilder addAttendance(Attendance attendance) {
PersistentEntityResource resource = assembler.toResource(attendance); //(37)
this.attendanceList.add(resource);
return this;
}
考勤状态服务
attendance = attendanceRepository.findByDateAndPerson(Date.valueOf(day), person);
if(attendance==null){
attendance = new Attendance();
}
listBuilder.addAttendance(attendance); //(50)