[Java /Spring] SpringBoot Test / TestRestTemplate
·
Spring
Spring혹은 SpringBoot를 이용하여 RestApi를 설계할 때, 상태코드를 같이 전달하기 위해 ResponseEntity를 사용하는 경우가 많다. 이 문서에서는 이러한 ResponseEntity를 사용하는 RestApi Test환경에 유용하게 사용되는 TestRestTemplate에 대해 알아보자. 📕 TestRestTemplate REST 방식으로 개발한 API의 Test를 최적화 하기 위해 만들어진 클래스이다. HTTP 요청 후 데이터를 응답 받을 수 있는 템플릿 객체이며 ResponseEntity와 함께 자주 사용된다. Header와 Content-Type 등을 설정하여 API를 호출 할 수있다. 📗 예제 1. postForEntity JWT을 사용하는 로그인 Api의 테스트이다. [A..
[Java / Spring] 스프링부트 테스트 어노테이션 @SpringBootTest와 @WebMvcTest
·
Spring
SpringBoot환경에서 테스트코드를 작성할 때 대다수 JUnit5을 사용하고, @SpringBootTest 어노테이션 혹은 @WebMvcTest를 사용한다. 둘의 차이점을 알아보자 📕 @SpringBootTest 프로젝트의 전체 컨텍스트를 로드하여 빈을 주입하기 때문에 속도가 느리고, 통합 테스트를 할 때 많이 사용한다. 컴포넌트 스캔 범위는 Bean 전체이다. 즉, 애플리케이션이 실행할 당시 스캔되는 범위와 동일하다. 애플리케이션의 모든 설정을 가져오기 때문에 애플리케이션의 범위가 넓을수록 테스트가 느려질 수 밖에 없고, 이는 단위테스트에 적절하지 않다. 📕 @WebMvcTest Web 테스트 중에서 MVC테스트를 하는데 사용하며 컴포넌트 스캔의 범위는 스프링 컨테이너에서 Presentation L..
[Java] int와 Integer, boolean과 Boolean
·
Java
📕 기본 자료형 (Primitive Type) 📗 기본 자료형이 무엇인가? 기본 자료형은 프로그래밍 언어에서 제공하는 가장 기본적인 데이터 타입으로, 변수에 저장되는 데이터의 값을 직접 담는다. 📗 기본 자료형의 특징 null 값을 허용하지 않는다. 정해진 메모리를 할당한다. 스택(stack) 영역에 저장된다. 📗 기본 자료형의 종류 int 정수 값을 저장하는 기본 자료형. 예를 들면, 1, -42, 100 등의 정수. boolean: 참 또는 거짓을 나타내는 논리 자료형. true 또는 false. byte: 작은 정수 값을 저장하는 기본 자료형으로, -128부터 127까지의 값을 표현. 주로 메모리 절약이 필요한 경우에 사용한다. char 유니코드(Unicode) 문자 하나를 저장하는 기본 자료형으로..
[Java / Spring] MAC OS 스프링 빌드 후 배포
·
Spring
0. AWS EC2, RDS 활용 Sping boot 빌드, 배포 스프링 인스타그램 클론코딩 프로젝트 진행 중 무중단 배포 테스트를 위해 AWS EC2와 RDS를 사용하였다 EC2 인스턴스로 리눅스 서버를 구축하고 RDS로 MariaDB를 구축하고 탄련적 IP로 IPv4 주소를 할당 한 후 한국도메인 사이트를 이용하여 도메인을 설정하였다 이후 리눅스 서버를 깃허브와도 연동하여 CI/CD(Continuous Integratio/Continuous Deployment)로 자동화를 하려고했으나 AWS 프리티어의 적은 RAM 용량으로 빌드 중 계속해서 서버가 멈추는 현상이 발생해서 노트북 개인서버를 포트포워딩으로 접속하는 방식으로 바꾸었다. (노트북을 안끄면 무중단배포니깐...) 1. MAC OS에서 스프링 빌..
[Spring] 인스타그램 클론코딩 004. 회원가입 - DB에 회원정보 저장
·
Project/인스타그램 클론코딩(PhotoGram)
회원가입으로 받은 데이터(SignupDto)를 User Entity로 변환하여 DB에 저장한다 1. Builder 패턴 사용 Dto 데이터를 오브젝트에 담기 쉬운 방법으로 Builder 패턴을 사용하는 방법이다. lombok이 지원해주는 어노테이션 @Builder를 User.java에 추가한다. SignuDto.java에 builder패턴 메서드를 생성한다. package com.GStagram.domain.auth; import com.GStagram.model.User; import lombok.Data; @Data // Getter, Setter public class SignupDto { private String username; private String password; private Str..
[Spring] 인스타그램 클론코딩 003. 회원가입 - SignupDto 생성
·
Project/인스타그램 클론코딩(PhotoGram)
회원가입을 위한 Dto와 DB연결을 위한 Model 생성 1. SignupDto 생성 시큐리티 세팅을 끝나고 회원가입 기능 구현을 위해 첫 번째로 할 작업은 User Model을 만드는 것이다. 클라이언트가 회원가입에서 POST 요청하여 DB에 INSERT되게 될 곳이 User이기 때문이다. 따라서, 회원가입 페이지에서 클라이언트가 input 태그에 넣게 될 데이터의 형태에 맞는 DTO(Data Transfer Object)를 만들어 주어야 한다. SignupDto.java package com.GStagram.domain.auth; import lombok.Data; @Data // Getter, Setter public class SignupDto { private String username; pr..
마볼링
'springboot' 태그의 글 목록