본문 바로가기

스프링과 JPA 기반 웹 어플리케이션 개발/4부 스터디13

58. 스터디 참여 및 탈퇴 시작하기전에 StudySettingsController에 있는 경로를 인코딩해주는 메소드를 Study엔티티에 옮겼다. package me.weekbelt.studyolle.domain; // ...... public class Study { // ....... public String getEncodedPath() { return URLEncoder.encode(this.path, StandardCharsets.UTF_8); } } StudySettingsController에 있는 getPath(path)를 study.getEncodedPath()로 수정 한다. 이미 UI는 구현이 되어있으므로 서버단에만 코드를작성하면 된다. 스터디 참여/탈퇴 요청을 처리하는 핸들러 작성 package me.weekbel.. 2020. 4. 28.
57. 스터디 설정 - 삭제 데이터를 삭제하기 전엔 고민할 것 정말로 삭제할 것인가 아니면 삭제 했다고 마킹을 해둘 것인가 (Soft Delete) 이 서비스에서는 스터디(+연관) 데이터를 실제로 삭제 합니다. Soft Delete와 비슷한 역할을 할 수있는 스터디 종료(closed) 개념이 있기 때문에 서비스에서의 "삭제"는 정말로 데이터를 삭제 한다. 스터디 삭제요청을 처리할 핸들러 작성 package me.weekbelt.studyolle.study; @RequiredArgsConstructor @RequestMapping("/study/{path}/settings") @Controller public class StudySettingsController { // .... @PostMapping("/study/remove") .. 2020. 4. 28.
56. 스터디 설정 - 경로 및 이름 수정 스터디 설정 - 상태 변경 게시글에서 화면은 미리 구현 했으므로 스터디 경로와 스터디이름 수정 로직만 처리하면된다. 스터디 경로/이름 수정요청을 처리하는 핸들러 작성 package me.weekbelt.studyolle.study; @RequiredArgsConstructor @RequestMapping("/study/{path}/settings") @Controller public class StudySettingsController { // ............. @PostMapping("/study/path") public String updateStudyPath(@CurrentAccount Account account, @PathVariable String path, @RequestParam S.. 2020. 4. 28.
55. 스터디 설정 - 상태변경 스터디 상태페이지 요청을 처리할 핸들러 생성 package me.weekbelt.studyolle.study; @RequiredArgsConstructor @RequestMapping("/study/{path}/settings") @Controller public class StudySettingsController { // ........ @GetMapping("/study") public String studySettingForm(@CurrentAccount Account account, @PathVariable String path, Model model) { Study study = studyService.getStudyToUpdateStatus(account, path); model.addAtt.. 2020. 4. 24.