정리노트/팀프로젝트

[팀프로젝트] 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 시작