springboot 6

[Springboot] 테스트 코드 - 3 - JUnit5

1. JUnit ?2. JUnit 모듈3. 테스트 환경 설정 [JUnit]JUnit 의 J 는 Java의 약자로, JUnit 은 자바에서 활용되는 대표적인 테스트 프레임워크이다.단위 테스트(Unit Tests)뿐 아니라, 통합 테스트(Integration Tests)를 할 수 있는 기능을 제공한다.JUnit 의 특징으로는 다음과 같은 내용이 있다.몇 개의 어노테이션만 활용하여 간편하게 테스트 코드를 작성할 수 있다.단정문(Assert)를 통하여 테스트 케이스의 기댓값이 정상적으로 도출됐는지 검토할 수 있다.또한, 현 시점 사용되는 JUnit 5 버전에서는 다음과 같은 기능이 제공된다.JUnit 5는 확장 가능한 모델을 제공하여, 사용자 정의 확장을 쉽게 추가할 수 있다. 커스텀 확장은 @ExtendWit..

[Springboot] 테스트 코드 - 1 - 테스트 개요

1. Test 의 중요성2. Test 방법3. Test 코드 작성 방법[Test 의 중요성]최근들어 애플리케이션을 개발할 때, 테스트 코드로 로직을 확인하는 과정이 더 중요하게 여겨지고 있다.특히, CI/CD 파이프라인 구축에 있어, 테스트 코드 작성은 매우 중요하다.개발 과정에서 문제를 미리 발견할 수 있다.리팩토링의 리스크가 줄어든다.애플리케이션을 가동해서 직접 테스트하는 것보다 테스트를 빠르게 진행할 수 있다.하나의 명세 문서로의 기능을 수행한다.몇 가지 프레임워크에 맞춰 테스트 코드를 작성하면 좋은 코드를 생산할 수 있다.코드가 작성된 목적을 명확하게 표현할 수 있으며, 불필요한 내용이 추가되는 것을 방지한다. [Test 방법]단위 테스트 - Unit Tests테스트 대상의 범위를 기준으로, 가장..

[Spring Boot] JPA - 4. CRUD Example

1. Environment2. Sources3. Test Springboot - Basic JPA CRUD API Example JPA를 바로 사용하기 보단, 동작 원리에 대해 알고 사용하는 것이 도움이 된다.JPA 관련 포스팅https://jh4dev.tistory.com/24 [Spring Boot] JPA - 1. ORM 과 JPA1. ORM2. JPA & Hibernate [ORM]ORM은 Object Relational Mapping 의 줄임말로, 객체 관계 매핑을 의미한다.객체지향 언어에서 의미하는 객체와 RDB의 테이블을 자동으로 매핑하는 방법으로, 자바에서는 클래스와jh4dev.tistory.com https://jh4dev.tistory.com/25 [Spring Boot] JPA - 2..

[Spring Boot] Rest Controller - 6. HttpEntity

1. HttpEntity ?2. RequetEntity & ResponseEntity [HttpEntity]Spring Framework에는 HttpEntity 라는 클래스가 있다.HttpEntity 는, Header 와 Body 로 구성되어 HTTP 요청과 응답을 구성하는 역할을 수행한다.HttpEntity 의 필드는 다음과 같다. package org.springframework.http; import org.springframework.lang.Nullable; import org.springframework.util.MultiValueMap; import org.springframework.util.ObjectUtils; public class HttpEntity { ..

[Spring Boot] Rest Controller - 5. DELETE

1. Http Method DELETE2. DELETE Controller  [Http Method DELETE]HTTP DELETE 메서드는 서버에 있는 리소스를 삭제하는데 사용된다.클라이언트는 리소스를 식별할 수 있는 값을 서버로 전달하며, 서버가 해당 리소스를 조회하고 삭제하는 역할을 수행한다.지정된 URI 에 있는 리소스를 삭제한다.같은 DELETE 요청을 여러 번 수행해도, 서버의 상태는 변하지 않는다.[DELETE Controller]컨트롤러를 통해 값을 받는 단계에서는 간단한 값을 받기 때문에, GET 메서드와 같이 URI 에 값을 넣어 요청을 받는 형태로 구현된다.즉, GET Controller 와 형태는 크게 다르지 않다.  @DeleteMapping("/{variable}") ..

[Spring Boot] Rest Controller - 4. PUT

1. Http Method PUT2. PUT Controller [Http Method PUT]HTTP PUT 메서드는 클라이언트가 지정된 URI에 대해 서버에 리소스를 생성하거나, 기존 리소스를 (전체) 대체하도록 요청한다.부분 대체의 목적으로 PATCH 메서드가 있으나, 실무에서 PUT과 PATCH를 구분하여 사용하는 경우는 드문 것 같다.다른 이유보다도, 수정된 컬럼만 지정해서 업데이트 하기 보다는,  Column 전체를 업데이트 하는 경우가 대부분이기 때문이다.클라이언트가 같은 PUT 요청을 여러 번 보내도 결과가 달라지지 않는다.PUT 요청은 리소스의 전체 대체를 의미한다.[PUT Controller]PUT Controller 의 형태는 POST API 와 크게 다르지 않다.@RequestBod..