StudySettingsController.java 를 추가하자! @RequestMapping으로 같은 경로의 중복을 줄일 수 있기 때문이다. 😎
가져올 때 해야할 일이 많기 때문에 studyService 쪽으로 빼낸 것이다. 그냥 repository에서 가져와서 사용할 수 없음. 왜? 가져올 때 StudyService의 getStudy를 통해 가져온다. getStudy에 study가 없을 수도 있다.
public Study getStudyToUpdate(Account account, String path) {
Study study = this.getStudy(path);
if (!account.isManagerOf(study)) {
throw new AccessDeniedException("해당 기능을 사용할 수 없습니다.");
}
return study;
}
스터디를 수정할 수 있는 사람은 매니저 뿐이다. 따라서 스터디를 조회한 후 이 account가 study의 매니저이냐 확인한다. AccessDeniedException 스프링 시큐리티에 있음. java io 이런 곳에 있는 게 아니다.
스터디의 소개를 수정하는 부분이므로 이것에 해당하는 StudyDescriptionForm 을 만들었음
출처 : 인프런 백기선님의 스프링과 JPA 기반 웹 애플리케이션 개발
https://pixabay.com/photos/nature-landscape-autumn-2813487/