정리노트/팀프로젝트
[팀프로젝트] 24.02.16. 노트
망고고래
2024. 2. 16. 17:58
오늘 할일
owner CRUD 완성
facility CRUD 시작/////관리자 시점의 member/owner CRUD가 있어야 해서 먼저 하다가 깃허브가 꼬였다.
???데이터베이스에 owner_number varchar(14)로 해놨는데 숫자 12자리까지만 들어간다
??????테이블 삭제했다가 다시 만드니까 또 된다
?????주소 나온다
1. UPDATE 메서드 개선
저번에 작성했던 코드는 다음과 같다.
@GetMapping("/info")
public String get_member_info(Model model) {
System.out.println("sessionId 취득");
String sessionId = (String)session.getAttribute("sessionId");
System.out.println("memberService.get_member_info() 호출");
Member member = memberService.get_member_info(sessionId);
model.addAttribute("member", member);
return "/member/member_info";
}
@PostMapping("/update_info")
public String update_meber_info(@ModelAttribute("member")Member member, Model model, BindingResult result) {
System.out.println("update_member_info() 도착");
//업데이트
if(result.hasErrors()) {
return "/member/member_info";
}else {
System.out.println("memberService.update_member_info() 호출");
memberService.update_member_info(member);
}
//불러오기
model.addAttribute("member", member);
get_member_info(model);
return "member/member_info";
}
여기서 두 가지 개선점을 찾았다.
1. validation이 따로 없기 때문에 BindingResult를 사용해서 hasErrors()를 검사하는 게 큰 의미가 없다.
→hasErrors() 부분을 삭제했다.
2. get_member_info()를 호출하면서 매개변수인 model을 넣어주기 위해 model.addAttribute("member", member);를 실행했다. 그런데 어차피 get_member_info()에서 마지막에 같은 코드를 실행하기 때문에 무의미한 중복이다.
→함수 호출 부분을 삭제하고 바로 return으로 가게 했다. 함수를 직접 호출하는 것과 return을 적어놓는 것도 불필요한 반복이었다.
수정된 코드
@PostMapping("/update_info")
public String update_meber_info(@ModelAttribute("member")Member member) {
System.out.println("update_member_info() 도착");
//업데이트
System.out.println("memberService.update_member_info() 호출");
memberService.update_member_info(member);
//불러오기
return "member/member_info";
}
그리고 어차피 매핑이 GetMapping과 PostMapping으로 구별되기 때문에 조회와 수정의 url을 다르게 하지 않아도 될 것 같다.
주말동안 할 일
깃허브 공부하기
월요일에 할 일
관리자 member/owner CRUD<<게시판 형식으로 회원 목록 출력하기
facility CRUD 시작