다음날 쓰는 늦은 TIL이다. 이 날은 엄청 여유롭게 공부하다가 늦은 시간 피드백 받고 부랴부랴 다시 공부했던 날이다 ㅎ..
1. Spring
- MVC
1. DispatcherServlet ↔ Handlermapping: 요청을 받은 프론트 컨트롤러가 Handlermapping를 통해 어떤 컨트롤러의 어떤 함수를 써야하는지 알게된다 (Handlermapping에 api path와 컨트롤러 함수가 매핑되어있음)
2. DispatcherServlet ↔ Controller: 해당하는 컨트롤러에 클라이언트의 요청(+Model)을 넘겨주어 컨트롤러는 그 요청을 처리하여 Model과 View 데이터를 넘겨준다
3. DispatcherServlet ↔ ViewResolver: 전달받은 Model과 View를 ViewResolver가 받아 합쳐준 뒤 다시 넘겨준다
4. DispatcherServlet ↔ View: Model이 적용된 View를 넘겨주면 View가 이를 클라이언트에 넘겨준다
- Response
- Request
- 개인과제 두번째 피드백
- 피드백마다 작아지는 것 같다. 뭔가 창피하고 아직 멀었다는 느낌이 많이 드는 것 같다.
- 저번에 이어서 responseDto 관련, 컨트롤러 가독성 관련 피드백이 주를 이루었고, 서비스 계층에서 @Transactional 관련 얘기도 해주셨다(https://kafcamus.tistory.com/30)
- 말씀대로 다 없앴더니 put 메소드로 수정할 때 modified date가 반영이 안되서 @Transactional을 붙혔더니 해결됐다
- put으로 수정하는 것은 고립되어서 수행되어야하는 연산인 것 같다
- responseDto를 각각의 클래스로 나누어야 가독성이 더 좋고, 컨트롤러의 반환 값이 고정적이라 좋은 코드인지 모르겠다는 말씀 주셨다
- responseDto를 세개로 나누고, Enum 객체로 에러코드 정보를 담은 후 RuntimeException을 상속받은 CustomException에 해당 Enum을 필드로 넣으면서 CustomExceptionHandler에서 에러들을 처리해보았다
- 그리고 컨트롤러에서 responseDto 안에 포함되는 내용이 무엇인지 좀 더 알 수 있게 언급해주었다
'이노베이션 캠프' 카테고리의 다른 글
[TIL] 24일차 (0) | 2022.08.24 |
---|---|
[TIL] 18일차 (0) | 2022.08.18 |
[TIL] 16일차 (0) | 2022.08.16 |
[WIL] 2주차 (0) | 2022.08.14 |
[TIL] 13일차 (0) | 2022.08.13 |