Spring Boot Embedded Tomcat Configuration
1. Embedded Tomcat 기본 Spring Boot 웹 응용 프로그램은 내장된 Tomcat 컨테이너를 일시적 종속성으로 포함한다. 즉, spring-boot-starter-web은 spring-boot-starter-tomcat 종속성을 일시적으로 가져온다. <dependency> <groupId>org.spring...
1. Embedded Tomcat 기본 Spring Boot 웹 응용 프로그램은 내장된 Tomcat 컨테이너를 일시적 종속성으로 포함한다. 즉, spring-boot-starter-web은 spring-boot-starter-tomcat 종속성을 일시적으로 가져온다. <dependency> <groupId>org.spring...
1. API 속도 제한 속도 제한은 API에 대한 액세스를 제한 하는 전략이다. 클라이언트가 특정 시간 내에 수행할 수 있는 API 호출 수를 제한한다. 이는 의도하지 않거나 악의적인 남용으로부터 API를 보호하는데 도움이 된다. 속도 제한은 IP 주소를 추적하거나 API 키 또는 액세스 토큰과 같은 보다 비즈니스에 특정한 방식으로 API에 적용되는...
1. Basics 1) Enable Web MVC 웹 애플리케이션이 Spring MVC 지원으로 구성되어야 한다. 이를 수행하는 방법은 @EnableWebMvc 주석을 사용하는 것이다. @EnableWebMvc @Configuration @ComponentScan({ "com.baeldung.web" }) public class WebConfig ...
1. JSON으로 보낸 HTTP 요청 메시지 1) HttpServletRequest, HttpServletResponse 이용 HttpServletRequest를 사용하여 HTTP 메시지 바디 데이터를 읽어 문자로 변환한다. Stream은 바이트코드이기 때문에 인코딩 설정을 해야 한다. import jakarta.servlet.ServletInp...
1. 인코딩 확인 데이터를 수신했을 때 글자가 깨져 보이는 경우, 인코딩 방식 확인이 필요할 때 아래 로직으로 확인한다. public void checkEncoding(String textString) { byte[] bytes = textString.getBytes(StandardCharsets.UTF_8); textString = ...
1. Jackson이란 Jackson을 사용하여 JSON을 세 가지 다른 방식으로 구문 분석한다. 첫 번째이자 가장 일반적인 것은 ObjectMapper를 사용한 데이터 바인딩이다. 두 번째는 TreeTraversingParser 및 JsonNode를 사용하여 트리 데이터 구조에 매핑하는 것이다. 세...
1. Non-Reactive Components 헤더 단일 응답에 헤더를 설정하려면 HttpServletResponse 또는 ResponseEntity 객체를 사용할 수 있다. 반대로, 모든 응답 또는 여러 응답에 필터를 추가하려면 Filter를 구성해야 한다 . 1) HttpServletResponse 사용 HttpServletResponse 객...
1. AsyncRestTemplate AsyncRestTemplate은 URL에 액세스하고 출력을 비동기적으로 반환한다. 출력은 결과를 가져오는 get() 메소드가 있는 ListenableFuture 형식이다. AsyncRestTemplate의 두 가지 메서드 exchange() 및 Execution()에 대한 예이다. Spring 4는 요청 객체를 ...
1. XML root 노드 추가 표준 XML은 root 태그가 있다. 그러나 XML 변환시 표준 XML 형식을 따르지 않는 경우가 있다. XML을 더 읽기 쉽고 표준을 준수하도록 root 태그를 추가할 수 있다. 2. Jackson Dependency 추가 <dependency> <groupId>com.fasterxm...
1. Json 노드 추가 JsonNode 객체는 불변(immutable)하는 객체이기 때문에 변경하려면 가변 객체인 ObjectNode로 캐스팅해서 바꿔야 한다. 2. Jackson Dependency 추가 <dependency> <groupId>com.fasterxml.jackson.core</groupId>...