본문 바로가기

전체 글24

@Valid를 이용한 데이터 유효성 체크 최근 회사일이 많이 바빠서 따로 개인공부를 할 시간이 없었다....(사실은 퇴근하면 피곤해서 아무것도 하기 싫었었다가 맞다 ㅎㅎㅎ) 아무튼 오늘은 @Valid 어노테이션을 통한 데이터 유효체크에 대해 글을 작성해보고자 한다. 최근 Map에서 DTO를 이용한 방식으로 작업방식을 바꾸면서 한가지 애를먹은 부분이 있었다. 보통 API 개발을 할 때 request parameter를 넘겨받을 때 HttpMethod가 Post 또는 Put일 경우 특정 데이터를 필수적으로 요구해야하는 경우가 있을 수 있다. 이럴 때에는 필수적으로 요구하는 데이터가 없는 경우 별도의 예외상황을 발생시켜 요청자에게 이러한 부분으로 문제가 발생했다는 것을 알려야하는데 통상적으로 400(Bad Request) 응답으로 처리했었다. Map.. 2020. 12. 15.
싱글톤 패턴(Singleton pattern) 싱글톤 패턴(Singleton Pattern) 어플리케이션이 시작될 때 클래스가 최초 한번만 메모리를 할당하고(Static) 해당 메모리에 인스턴스를 만들어 사용하는 디자인 패턴. 생성자가 여러번 호출 되더라도 실제로 생성되는 객체는 유일하며 최초 생성 이후 호출된 생성자는 최초에 생성한 객체를 반환한다. 한마디로 인스턴스가 필요한 경우 필요할때마다 생성하고 사용하는 것이 아니라 이전에 생성된 인스턴스를 사용하게 하는 방식이다. 아래 코드를 보면서 생각해보자 public class TestClass { // 인스턴스 private static TestClass instance = new TestClass(); // private 생성자 private TestClass() {} // 인스턴스 리턴 메소드 .. 2020. 9. 28.
@ControllerAdvice 와 @ExceptionHandler를 이용한 예외처리 개인적으로 평소에 일이나 개인 공부를 할때 가장 신경쓰는 것은 예외처리이다. 개발자와 사용자의 시각차이는 분명 존재하고 항상 개발자가 의도한대로 사용자가 프로그램을 사용할 수는 없다. 난 개인적으로 완벽한 개발을 할 수 없는 사람이기때문에 여러가지 예외상황이 일어날 것은 항상 염두해두며 작업을 진행한다. 그래서 예외처리를 굉장히 중요하게 생각한다. 어떠한 상황이 일어날지 100퍼센트 예측할 수 없기때문에.. 평소와 다를 것 없이 일하고 있는 와중에 내가 작성한 코드를 보니 try catch 가 너무나 남발되고 있다는 느낌을 받았다. 그래서 이번에는 @ControllerAdvice 어노테이션과 @ExceptionHandler 어노테이션을 이용해 컨트롤러단에서 발생되는 예외상황을 캐치하여 공통적으로 처리하고.. 2020. 8. 13.
블로그 ON 2020. 6. 22.