
Exception 에러페이지 1) 4XX Error or 5XX Error 2) Client 가 200 외에 처리를 하지 못할때는 200을 내려주고 별도 메시지를 전달 Annotation 설명 @ControllerAdvice Global 예외 처리 및 특정 package/Controller 예외처리 @ExcptionHandler 특정 Controller의 예외처리 1. 글로벌한 예외를 잡는 방법 @RestControllerAdvice package com.example.exception.advice; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframew..

Test Code - Controller 각 메서드를 테스트 하는 것이 아니고 컨테이너 자바 클래스 전체를 테스트 코드로 테스트 하는 방법이 있다. 톰켓을 실행하지 않고 가상으로 서버를 구성해서 메모리를 전달하는 방식으로 실행된다. 📑 BoardMapperTest.java package kr.bit.controller; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.s..

메서드를 사용하거나, 정규식과 비교해주는 어노테이션을 외에도 별도의 정규식을 만들어서 사용 할 수 있다. 별도의 정규식을 추가하는 필요성? 보통 날짜 부분에서 많이 사용된다. String 형으로 받아오게되는데, 명확히 확인 될 수 있는 정규식이 없다. 예시로 년도와 달 6글자를 받는 필드가 있다고 할때, 조건을 더 추가해주지 않으면 글자 수가 맞다면 날짜가 일치 하지 않아도 실행에 성공하게 된다. 각 사이트의 비즈니스 로직에 맞는 정규식이 필요하다. @Size(min=6,max = 6,message = "날짜를 정확하게 입력해주세요 ex ) yyyyMM") private String reqYearMonth; 1. @AssertTrue/False 어노테이션 사용 필드를 가져와서 정해진 패턴과 비교해주는 별..

Validation 벨리데이션 (Validation) 이란 null pointer exception이 발생하는 부분을 방지 하기 위해서 미리 검증하는 과정. 검증해야할 값이 많을 경우 코드가 길어진다. 구현에 따라 다를 수 있지만 서비스 로직과의 분리가 필요하다. 흩어져 있는 경우 어디서 검증을 하는지 알기 어렵고 재사용의 한계가 있다. 스프링에서는 어노테이션 기반으로 제공하고 있다. ( 변수에 붙혀서 사용하면됨 ) Annotation Validation 의미 @Size 문자 길이 측정 (int 타입은 불가능) @NotNull null 불가능 @NotEmpty null," " 불가능 @NotBlank null, " ", 스페이스도 불가능 @Email 이메일 형식 @Past 과거 날짜 @PastOrPres..

스프링에서 사용하는 어노테이션 정리 - 1 Annotation 의미 @SpringBootApplication Spring boot application 으로 설정 @Controller 화면(view)를 제공하는 controller로 설정 @RestController Rest API를 제공하는 controller로 설정 기본적으로 respons는 objectmapper를 통해 json의 형태로 변경되어 내려간다. @RequestMapping URL 주소를 맵핑 원하는 HTTP 메서드를 지정해야함. 지정하지 않을 시 모든 HTTP 메서드가 동작하게됨. @GetMapping GET형식으로 요청이온 주소를 맵핑 @PostMapping POST형식으로 요청이온 주소를 맵핑 @PutMapping PUT(update..