[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] 모던 자바 인 액션 Chapter 1 - 자바 8, 9, 10, 11 : 무슨 일이 일어나고 있는가
·
책&강의 정리
자바는 처음부터 많은 유용한 라이브러리를 포함하는 잘 설계된 객체지향 언어로 시작했다. 코드를 JVM 바이트 코드로 컴파일하는 특징 때문에 자바는 인터넷 애플리케이션의 주요 언어가 되었다. JVM의 업데이트 덕에 JVM에서 실행되는 경쟁 언어는 더욱 부드럽게 실행될 수 있으며, 자바와 상호 동작할 수 있게 되었다. 또한 자바는 다양한 임베디드 컴퓨팅 분야도 장악하고 있었다. 하지만 프로그래밍 언어 생태계에 변화의 바람이 불었다. 프로그래머는 빅데이터라는 도전에 직면하면서 멀티코어 컴퓨터나 컴퓨팅 클러스터를 이용해서 빅 데이터를 효과적으로 처리할 필요성이 커졌다. 또한 병렬 프로세싱을 활용해야 하는데 이전의 자바로는 충분히 대응할 수 없었다. 그렇기에 자바는 변화하였다. 자바 8은 다양한 프로그래밍 도구와..
[Java] int와 Integer, boolean과 Boolean
·
Java
📕 기본 자료형 (Primitive Type) 📗 기본 자료형이 무엇인가? 기본 자료형은 프로그래밍 언어에서 제공하는 가장 기본적인 데이터 타입으로, 변수에 저장되는 데이터의 값을 직접 담는다. 📗 기본 자료형의 특징 null 값을 허용하지 않는다. 정해진 메모리를 할당한다. 스택(stack) 영역에 저장된다. 📗 기본 자료형의 종류 int 정수 값을 저장하는 기본 자료형. 예를 들면, 1, -42, 100 등의 정수. boolean: 참 또는 거짓을 나타내는 논리 자료형. true 또는 false. byte: 작은 정수 값을 저장하는 기본 자료형으로, -128부터 127까지의 값을 표현. 주로 메모리 절약이 필요한 경우에 사용한다. char 유니코드(Unicode) 문자 하나를 저장하는 기본 자료형으로..
[Spring / JPA] 일대다 매핑과 빌더 패턴
·
Spring
📕 JPA의 일대다 매핑 관계 📗 엔티티 설계 다음과 같이 Spiring JPA와 Lombok을 사용한 Member 와 Characters 간 1:N 관계가 있다고 가정을 하자 [Member] @Entity @Getter @Setter @NoArgsConstructor public class Member extends BaseTimeEntity { /** * 회원 목록 테이블 */ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "member_id") private long id; @Column(unique = true) private String username; private String password; @Enumerat..
[CS / DesignPattern] 빌더 패턴 (with Lombok)
·
Computer Science
📕 빌더 패턴 📗 빌더 패턴이란? 복잡한 객체들을 단계별로 생성할 수 있도록 하는 GoF 디자인 패턴 중 생성 패턴에 해당하는 패턴이다. 객체를 생성하는 클래스와 표현하는 클래스를 분리하여, 동일한 절차에서도 서로 다른 표현을 생성하는 방법을 제공한다. 📗 왜 나왔을 까? 객체를 생성시 생성자(Constructor)만 사용할 때 발생할 수 있는 문제를 개선하기 위해 나왔다. 예시로 다음과 같은 Member 클래스가 있다고 하자. @Entity @Getter @Setter @NoArgsConstructor public class Member extends BaseTimeEntity { /** * 회원 목록 테이블 */ @Id @GeneratedValue(strategy = GenerationType.IDE..
[Java / Spring] API 문서 자동화 Swagger
·
Spring
📕 개요 Spring뿐만 아니라 다른 어떤 언어, 프레임워크로 백엔드를 개발했을 때, Rest API를 개발하고 그 API에 대한 문서를 정리하여 해당 API를 사용하는 클라이언트 및 서버 개발자들에게 문서를 정리해서 공유하는것은 필수이다. 기존에는 노션이나 엑셀을 사용하여 정리를 했었는데 이런식으로 노션을 사용해서 정리를 했었는데 단점이 너무 많다. 일일이 코드에서 구현내용, 설계 내용들을 끌고와서 입력해야 한다. api 설계가 바뀌면 노션 문서도 수정해야한다. 그러던중 Swagger에 대해 알게 되었고, 적용해보았다. 📕 Swagger란? Swagger 는 API를 설계하고 문서화 및 테스팅이 가능한 프레임워크이며, 무료 버전과 상용 버전 모두 존재한다. Swagger 에는 아래 5개 기능이..
마볼링
'java' 태그의 글 목록 (3 Page)