编辑2:
咨询 @Around("@annotation(CheckUserReservationPermission) && args(username,idReservation)")
public Object userCreationAdvice(ProceedingJoinPoint pjp, DeleteByIdRequest req) throws Throwable {
Reservation reservation = reservationServices.findById(idReservation);
if (!reservation.getUser().getUsername().equals(username)) {
throw new PermissionException("You can't delete the reservation with id: " + idReservation);}
req.setReservation(reservation);
return pjp.proceed(new Object[] {req});
}
2. 新要求POJO
class DeleteByIdRequest {
Reservation reservation;
String username;
Integer idReservation;
}
3.Target方法
@Override
@CheckUserReservationPermission
public void deleteReservationById(DeleteByIdRequest request) throws