Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 박재성
- 알고리즘데이
- 마스터즈 2주차 회고
- 백준
- 알고리즘
- 2021.01.13
- 괄호
- algorithm
- 코드스쿼드
- 백준 1149
- 백준 9093
- 2021.01.22
- 2021.01.12
- 코드스쿼드 마스터즈
- 2021.01.06
- 잃어버린 괄호
- 쉽게 배우는 운영체제
- 자바
- 2020.01.08
- Til
- spring-boot
- 2021.01.11
- 2021.01.17
- 2021.01.18
- SWEA
- java
- 2021.01.19
- 2021.01.14
- baekjoon1541
- 2021.01.21
Archives
- Today
- Total
Cooper's devlog
5-6. QuestionController 중복 코드 제거 리팩토링 본문
1. 강의 링크
https://www.youtube.com/watch?v=g-nsT3NRK2o&list=PLqaSEyuwXkSppQAjwjXZgKkjWbFoUdNXC&index=45
2. 학습 목표
QuestionController 중복코드 제거 및 리팩토링
- try/catch를 이용한 Exception
- validation(Result) class를 이용한 예외 처리
3. 과정
httpSessionUtils.isLoginUser(session) 및 isSameWriter 중복 코드 리팩토링 (update, updateForm, delete)
1. try/catch를 이용한 Exception
(1)QuestionController
1_ hasPermission
반복되는 코드를 최소화하기 위해 hasPermission 메소드
- if(!HttpSessionUtils.isLoginUser(session) : 로그인 여부에 따른 예외처리
- if(!question.isSameWriter(loginUser) : 작성자id - loginId를 비교
- 모든 예외 통과 시, true 리턴
2_ hasPermission을 try/catch문에 추가하여 예외처리 구현
-updateForm
-update
-delete
2. result 객체를 생성해서 작성하기
(1) Result
- ok : 유효성 검상 통과 method(static)
- fail : 유효성 검사 실패 method & errorMessage 전달
- Result(boolean valid, String errorMessage) : 실패 시, 결과 주입을 위한 생성자
(2)QuestionController
1_valid
- 예외처리에 따른 메세지를 Result 객체에 주입
- if(!HttpSessionUtils.isLoginUser(session) : 로그인 여부 확인 예외처리
- if(!question.isSameWriter(loginUser) : 작성자 일치여부 확인 예외처리
2_updateForm, update, delete
- 유효성 검사 결과를 result 객체에 주입하여 로직 진행
- if문 예외 처리한 후, 로직 진행 방식(else문을 최대한 사용하지 않는 방식으로 진행)
-updateForm
-update
-delete
'Programming > Spring-boot' 카테고리의 다른 글
6-2. AJAX를 활용한 답변 추가 2 (0) | 2020.08.03 |
---|---|
6-1. AJAX를 활용한 답변 추가 1 (0) | 2020.08.03 |
5-5. 답변 추가 및 목록 기능 구현 (0) | 2020.07.23 |
5-4. 수정/삭제 기능에 대한 보안 처리 및 LocalDateTime 설정 (0) | 2020.07.22 |
5-3. 질문 수정, 삭제 기능 구현 (0) | 2020.07.21 |
Comments