반응형

Spring Boot 에 HTML에 Thmeleaf 넣기

1. 프로젝트 생성 프로젝트를 생성합니다. 2. 메이븐 spring-boot-starter-web및 spring-boot-starter-thymeleaf 먼저 두가지 의존성을 넣습니다. pom.xml 4.0.0 web-thymeleaf jar Spring Boot Web Thymeleaf Example Spring Boot Web Thymeleaf Example 1.0 org.springframework.boot spring-boot-starter-parent 2.1.2.RELEASE 1.8 4.2.1 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-thymeleaf org.spring..

Spring 2020.06.15

RestTemplate을 통해 파일 업로드하기

1. 개요 이 빠른 튜토리얼은 Spring의 RestTemplate을 사용하여 멀티 파트 파일을 업로드하는 방법에 중점을 둡니다. RestTemplate을 사용하여 업로드하는 단일 파일과 여러 파일이 모두 표시 됩니다. 2. HTTP Multipart Request 란? 간단히 말해서, 기본 HTTP POST 요청 본문은 양식 데이터를 key / 값 쌍으로 보유합니다. 반면, HTTP 클라이언트는 HTTP 멀티 파트 요청을 구성하여 텍스트 또는 이진 파일을 서버로 보낼 수 있습니다. 주로 파일 업로드에 사용됩니다. 또 다른 일반적인 사용 사례는 첨부 파일과 함께 이메일을 보내는 것입니다. 멀티 파트 파일 요청은 큰 파일을 작은 청크로 나누고 경계 마커를 사용하여 블록의 시작과 끝을 나타냅니다. 멀티 파트..

Spring 2020.06.15

RestTemplate Interceptor활용하기

1. 개요 이 튜토리얼에서는 Spring RestTemplate Interceptor 를 구현하는 방법을 배웁니다 . 응답에 사용자 정의 헤더를 추가하는 인터셉터를 작성하는 예제를 살펴 보겠습니다. 2. 인터셉터 사용 시나리오 헤더 수정 외에도 RestTemplate 인터셉터가 유용한 다른 사용 사례 는 다음과 같습니다. 요청 및 응답 로깅 구성 가능한 백 오프 전략으로 요청 재시도 특정 요청 매개 변수를 기반으로 요청 거부 요청 URL 주소 변경 3. Custom 인터셉터 만들기 대부분의 프로그래밍 패러다임에서 인터셉터는 프로그래머가 인터셉트를 통해 실행을 제어 할 수 있도록하는 필수 요소입니다. 스프링 프레임 워크는 다양한 목적으로 다양한 인터셉터를 지원합니다. Spring RestTemplate을 ..

Spring 2020.06.15

ErrorHandling 을 통한 RestTemplate 공통 에러처리

ErrorHandling 을 통한 RestTemplate 공통 에러처리 1. 개요 이 튜토리얼에서는 RestTemplate 인스턴스 에서 ResponseErrorHandler 인터페이스 를 구현, 관리하는 방법에대해 알아보겠습니다. 외부 API 호출 후 Best practice로 HTTP 응답을 처리하는 방법에 대해 알아보겠습니다. 2. 기본 오류 처리 기본적으로 RestTemplate 은 HTTP 오류의 경우 다음 예외 중 하나를 발생시킵니다. HttpClientErrorException – HTTP 상태 4xx 인 경우 HttpServerErrorException – HTTP 상태 5xx 인 경우 UnknownHttpStatusCodeException – 알 수없는 HTTP 상태 인 경우 이 모든 예..

Spring 2020.06.14

RestTemplateBuilder로 안전하게 restTemplate 생성하기

RestTemplateBuilder로 안전하게 restTemplate 생성하기 1. 소개 이 빠른 튜토리얼에서는 Spring RestTemplate Bean 을 구성하는 방법을 살펴 보겠습니다 . 세 가지 주요 구성 유형에 대해 시작하겠습니다. Default RestTemplateBuilder 사용 RestTemplateCustomizer 사용 RestTemplateBuilder를 Custom 속성 설정 2. Default RestTemplateBuilder 사용 이런 식으로 RestTemplate 을 구성하려면 Spring Boot에서 제공 하는 기본 RestTemplateBuilder bean을 클래스 에 주입 해야합니다 . private RestTemplate restTemplate; @Autowi..

Spring 2020.06.14

RestTemplate에서 List 다루기

RestTemplate에서 List 다루기 1. 소개 RestTemplate의 클래스는 봄에서 클라이언트 측 HTTP 작업을 수행하는 중앙 도구입니다. HTTP 요청을 작성하고 응답을 처리하기위한 몇 가지 유틸리티 메소드를 제공합니다. 또한 RestTemplate 은 Jackson 과 잘 통합되어 있기 때문에 많은 노력없이 JSON과주고받는 대부분의 객체를 직렬화 / 직렬화 할 수 있습니다. 그러나 객체 컬렉션 작업은 그렇게 간단하지 않습니다 . 이 튜토리얼에서는 RestTemplate 을 사용 하여 객체 목록을 GET 하고 POST 하는 방법을 살펴 봅니다 . 2. 서비스 예 두 개의 HTTP 엔드 포인트가있는 직원 API를 사용합니다. 모두 가져 와서 작성하십시오. GET / 직원 POST / 직원 ..

Spring 2020.06.14

RestTemaplte 사용방법

RestTemaplte 사용방법 1. 개요 이 튜토리얼에서는 Spring REST Client 의 한종류인 RestTemplate 을 사용하고 잘 사용할 수있는 광범위한 방법을 설명합니다 . 2. Web client Spring Framework 5에서 WebFlux 스택과 함께 Spring은 WebClient 라는 새로운 HTTP 클라이언트를 도입했습니다 . 웹 클라이언트는 에 현대적인 대안 HTTP 클라이언트입니다 RestTemplate . 기존의 동기식 API를 제공 할뿐만 아니라 효율적인 비 차단 및 비동기 방식도 지원합니다. 이다원에서는 web clinet가 아닌 좀 더 간단하게 많이 사용되는 Rest template을 사용할것입니다. 3. REST API GET 호출하여 자원 조회 3.1. 일..

Spring 2020.06.13

이중화된 시스템 Redis를 통한 Spring security session관리

이중화된 시스템 Redis를 통한 spring security session관리 1. 개요 Spring Session 은 서버에 저장된 HTTP 세션의 한계로부터 세션 관리를 자유롭게하는 간단한 목표를 가지고 있습니다. Spring sesion을 이용하면 이중화된 시스템에서 분리 된 서버에 환경을 생각없이 하나의 서버에서 사용하는것처럼 사용할 수 있습니다. 이 방법 사용하면 단일 컨테이너 (예 : Tomcat)에 연결하지 않고도 클라우드의 서비스간에 세션 데이터를 쉽게 공유 할 수 있습니다. 또한 동일한 브라우저에서 여러 세션을 지원하고 헤더에서 세션을 보냅니다. 이 기사에서는 Spring Session 을 사용하여 웹 앱에서 인증 정보를 관리합니다. Spring Session 은 JDBC, Gemfir..

Spring 2020.06.13

Spring 에서Global Error, Exception handling하는 방법

Spring 에서Global Error, Exception handling하는 방법 방법 1 – 컨트롤러 수준 @ExceptionHandler 첫 번째 방법은 @Controller 레벨 에서 작동합니다. 예외를 처리하는 메소드를 정의하고 @ExceptionHandler로 어노테이션을 달 것입니다 . public class FooController{ //... @ExceptionHandler({ CustomException1.class, CustomException2.class }) public void handleException() { // } } 이 접근 방식에는 큰 단점 이 있습니다. @ExceptionHandler 어노테이션이있는 메소드는 전체 애플리케이션 이 아니라 특정 컨트롤러에 대해서만 활성..

Spring 2020.06.12

H2 대신에 mysql testcontainer를 사용하여 테스트 코드 작성

H2 대신에 mysql testcontainer를 사용하여 테스트 코드 작성 1. 개요 Spring Data JPA는 내장 된 H2 데이터베이스로 데이터베이스 쿼리를 생성하고 테스트하는 쉬운 방법을 제공합니다. 그러나 실제 서비스에서는 h2가아닌 mysql등에에 대한 쿼리를 사용합니다. 이렇게 되면 실제 사용하는 mysql과 테스트하는 h2와 괴리감이 발생합니다. 그렇기 때문에 실제 테스트를할 때도 mysql과 동일환 환경에서 테스트를 하는것이 중요합니다. 이 튜토리얼에서는 Spring Data JPA 및 PostgreSQL 데이터베이스와의 통합 테스트 를 위해 Testcontainers 를 사용하는 방법을 보여 줍니다 . 이전 자습서에서는 주로 @Query annotation을 사용하여 데이터베이스 쿼..

카테고리 없음 2020.06.12
반응형