본문 바로가기

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

54. 스터디 설정 - 태그/지역 데이터를 필요한 만큼만 읽어오기. 태그와 지역정보를 Ajax로 수정할 때 스터디(+멤버, +매니저, +태그, +지역) 정보를 전부 가져올 필요가 있을까? 스프링 데이터 JPA 메소드 작명, @EntityGraph와 @NamedEntityGraph 활용하기 TagRepository 리팩토링 package me.weekbelt.studyolle.tag; // ...... @Transactional(readOnly = true) public interface TagRepository extends JpaRepository { Tag findByTitle(String title); } SettingController에서 removeTag 리팩토링 package me.weekbelt.studyolle.settin.. 2020. 4. 24.
53. 스터디 설정 - 배너 배너 화면 요청을 처리하는 핸들러 생성 package me.weekbelt.studyolle.study; @RequiredArgsConstructor @RequestMapping("/study/{path}/settings") @Controller public class StudySettingsController { // ...... @GetMapping("/banner") public String studyImageForm(@CurrentAccount Account account, @PathVariable String path, Model model) { Study study = studyService.getStudyToUpdate(account, path); model.addAttribute(accou.. 2020. 4. 24.
52. 스터디 설정 - 소개 수정 수정전 StudyController와 StudyService 리팩토링 package me.weekbelt.studyolle.study; @RequiredArgsConstructor @Controller public class StudyController { @GetMapping("/study/{path}") public String viewStudy(@CurrentAccount Account account, @PathVariable String path, Model model) { Study study = studyService.getStudy(path); // 추가 model.addAttribute(account); model.addAttribute(study); // 수정 return "study/v.. 2020. 4. 24.
51. 스터디 폼 & 개설 & 멤버 조회 테스트 package me.weekbelt.studyolle.study; @RequiredArgsConstructor @Transactional @SpringBootTest @AutoConfigureMockMvc class StudyControllerTest { @Autowired MockMvc mockMvc; @Autowired StudyService studyService; @Autowired StudyRepository studyRepository; @Autowired AccountRepository accountRepository; @AfterEach void afterEach() { accountRepository.deleteAll(); } @Test @WithAccount("joohyuk") @Dis.. 2020. 4. 24.