minlog
article thumbnail
[ Spring Boot ] Server 연결 (1) Get/Post- UriComponentsBuilder · RestTemplate
BackEnd/Spring Boot 2023. 3. 12. 18:03

API 서버에 요청하여 정보 가져오는 방법 다른 서버에 정보를 요청하는 방법은 RestTemplate, Apache Client ,WebClient,...등 의 방법이 있다. 스프링에서는 주로 RestTemplate 을 사용한다. 1 . API 서버가 어떤 데이터를 주는지 JSON 표준 규격을 보고 클래스를 생성한다. 2 . UriComponentsBuilder 를 통해 API 서버와 연결 3 . RestTemplate 을 통해 GET 또는 POST로 데이터를 주고 받는다. 1. GET 요청으로 API 데이터 가져오기 Server (port : 9090) 1 ) 데이터 객체 📑User.java package ..

article thumbnail
[ Spring Boot ] Exception 예외 처리 방법
BackEnd/Spring Boot 2023. 3. 10. 14:42

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..

article thumbnail
[ Spring ] Test Code - Controller 전체를 테스트하는 방법
BackEnd/Spring Boot 2023. 3. 9. 17:57

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..

article thumbnail
[ Spring Boot ] Validation (2) - @AssertTrue/False , Custom Annotation
BackEnd/Spring Boot 2023. 3. 9. 12:46

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

article thumbnail
[ Spring Boot ] Validation (1)
BackEnd/Spring Boot 2023. 3. 8. 20:20

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