본문 바로가기

Develop/Springboot11

@Valid 를 이용해 @RequestBody 객체 검증하기 Springboot를 이용해서 어노테이션을 이용한 validation을 하는 방법을 적으려 한다. RestController를 이용하여 @RequestBody 객체를 사용자로부터 가져올 때, 들어오는 값들을 검증할 수 있는 방법을 소개한다. Jakarata Bean Validation API Packages에 있는 javax.validation.constraints package에 있는 기본적인 검증 어노테이션을 이용한다. @Valid를 이용하면, service 단이 아닌 객체 안에서, 들어오는 값에 대해 검증을 할 수 있다. javax.validation.constraints 패키지를 보면 많은 어노테이션들이 존재한다. @Valid를 이용한 객체 검증 시 기본적으로 이 어노테이션을 이용한다. 사실 이름.. 2020. 4. 2.
GCP Cloud Storage + Springboot 연동하기 이번 외주를 맡은 내용이 Google Cloud Storage를 이용해서 file을 업로드, 다운로드하는 API 기능을 구현해서 이 내용을 정리하고자 한다. Cloud Storage를 다루는 방법으로 Google Cloud Console, Cloud SDK를 이용한 command인 gsutil 등이 있지만, Springboot를 이용하여, Cloud Storage의 버킷 및 객체를 Client library 레벨에서 다루는 방법을 살펴보자. 1. Cloud Storage란? Google Cloud에 객체를 저장하는 서비스이다. 이때 객체는 모든 형식의 파일을 의미하며, 버킷이라는 컨테이너에 객체를 저장한다. 모든 버킷은 프로젝트와 연결되어있으며, 프로젝트의 권한 지정을 통해 원하는 사용자가 storage.. 2020. 3. 1.
크롤링 테스트를 위한 mock server test 구축 Java의 Jsoup을 이용해서 페이지를 크롤링을 하는 코드는 찾아보면 많지만, 크롤링을 테스트하는 코드는 찾기 어려웠다. 따라서 크롤링 테스트를 짜기 위해 직접 nginx 서버를 띄어서 그 서버를 크롤링 하기도 하는 등 JavaBom 스터디원과 구현해본 크롤링 테스트에 대한 포스팅을 하게되었다. 참고로 nginx 서버를 띄어서 크롤링 하는것은 실제 서버라서 크롤링 테스트의 의미가 없는 것 같다. 실제 서버가 죽으면 크롤링 테스트도 못하므로 결국은 @Ignore를 걸어야하는 테스트이기 때문이다. 내가 생각하기에 크롤링 테스트에서 쟁점은 2가지 이다. 1. Parsing 테스트 [ 목적 ] 페이지의 html 파일에서 크롤링을 통해 원하는 정보만을 가져왔는지 체크한다. [ 구현 방식 ] 크롤링을 원하는 페이.. 2020. 1. 31.
springboot 외부 라이브러리 jar 파일 추가 방법 로컬 프로젝트 안에 외부에서 받아온 라이브러리인 jar파일을 추가하는 방법을 찾아보았다. gradle에 존재하지 않는 외부의 .jar 파일을 스프링 부트 안에 의존성을 추가하는 방법이다. /build.gradle 파일 안에 명시를 해주어야 한다. 1. 한 개의 파일을 넣는 방법 dependencies { implementation files('libs/something_local.jar') } 2. 디렉토리에 위치한 모든 라이브러리의 의존성을 추가하는 방법 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) } build.gradle에 넣고, build gradle을 하게 되면, 아래와 같이 내가 추가한 외부 라이브러리인 .jar 파일 안에.. 2020. 1. 24.