본문 바로가기
Framekwork/photogram

[스프링 부트 포토그램] 21강 인증 회원가입 - 전처리 후처리 개념잡기

by 아이엠제니 2024. 9. 4.

IDE: IntetlliJ Ultimate
Spring Boot: 3.3.0
JDK: 17


 

 

 

1. Error


> 동일 `username`으로 가입 시 에러 (제약조건 uk)

 

 

 

> `username`이 20자 이상일 경우 에러 (제약조건 length)

 

 

> 정리

  1. 제약조건 uk => 후처리
    1. ExceptionHandler
  2. 제약조건 length => 전처리
    1. validation (유효성 검사)

 

 

 

2. 전처리 후처리


> 전처리 (pre-procession)

  • 특정 요청이 실제 비즈니스 로직(즉 컨트롤러 메서드)에 도달하기 전에 수행되는 작업을 의미함
    • 인증 및 권한 확인: 사용자가 요청을 보내기 전에 인증 상태를 확인하거나 특정 자원에 접근할 수 있는 권한이 있는지를 검증할 수 있음
    • 로그 기록: 요청이 시작될 때 로그를 기록하거나 요청 파라미터를 검증하는 로직을 추가할 수 있음
    • 데이터 변환 및 검증: 요청 데이터를 특정 형식으로 변환하거나, 요청의 유효성을 검증하여 유효하지 않은 경우 적절한 응답을 보낼 수 있음

 

 

> 후처리 (post-processing)

  • 비즈니스 로직이 수행된 후, 즉 컨트롤러가 요청을 처리한 후에 수행되는 작업을 의미함
    • 응답 데이터 변환: 컨트롤러가 반환하는 데이터를 특정 형식으로 변환하거나 추가 처리를 수행할 수 있음
    • 로그 기록: 요청 처리 완료 후에 결과를 기록하거나 성능 측정 등의 로그를 남길 수 있음
    • 예외 처리: 비즈니스 로직 수행 중 발생한 예외를 잡아서 공통된 예외 응답 포맷으로 변환할 수 있음

 

 

> 스프링에서 전처리 및 후처리 구현 방법

👉 인터셉터 (HandlerInterceptor)

  • 스프링 MVC의 `HandlerInterceptor` 인터페이스를 구현하여 전처리와 후처리 로직을 정의할 수 있음
  • 주로 특정 URL 패턴에 매핑되어 특정 요청에 대해 전처리 및 후처리를 수행함

 

👉 필터 (Filter)

  • `javax.servlet.Filter` 인터페이스를 구현하여 필터를 정의할 수 있음
  • 필터는 요청과 응답을 가로채서 처리할 수 있으며, 주로 인증, 인코딩 걸정, 로깅 등에 사용됨

 

👉 AOP (Appect-Oriented Programming)

  • `@Before`: 메서드 실행 전 전처리 로직을 정의함
  • `@After`: 메서드 실행 후 후처리 로직을 정의함
  • `@Around`: 메서드 실행 전후 모두에 대한 처리를 할 수 있음

 

 

 

이지업클래스 [메타코딩] 스프링부트 SNS프로젝트 - 포토그램 만들기 강의 실습

참고
OpenAi. (2024) ChatGPT (version 3.5)[Large Language model]. https://chat.openai.com

 

 

 

 

 

300x250