Spring REST API에서 JSON Patch 사용
1. 사용 사례 JSON 문서로 표현되는 HTTP 고객 리소스의 예이다. { "id":"1", "telephone":"001-555-1234", "favorites":["Milk","Eggs"], "communicationPreferences": {"post":true, "email":true} } 이 고객의 전화번...
1. 사용 사례 JSON 문서로 표현되는 HTTP 고객 리소스의 예이다. { "id":"1", "telephone":"001-555-1234", "favorites":["Milk","Eggs"], "communicationPreferences": {"post":true, "email":true} } 이 고객의 전화번...
1. Spring 뷰 기술 Spring MVC 애플리케이션의 문제가 한 뷰 기술에서 다른 뷰 기술로 완전히 분리되어 있다는 점을 고려하면 기본적으로 구성 문제이다. 각 뷰 유형을 렌더링하려면 각 기술에 해당하는 ViewResolver 빈을 정의해야 한다. 이는 일반적으로 JSP 파일을 반환하는 것과 동일한 방식으로 @Controller 매핑 메서드에...
1. Apache Tiles Apache Tiles는 Composite 디자인 패턴을 기반으로 구축된 무료 오픈 소스 템플릿 프레임워크이다. 컴포지트 디자인 패턴(Composite Design Pattern)은 객체를 트리 구조로 구성하여 전체 부분 계층을 표현하는 구조 패턴의 일종으로, 개별 객체와 객체의 구성을 균일하게 취급하는 패턴이다. 즉, ...
1. FreeMarker FreeMarker는 Apache Software Foundation의 Java 기반 템플릿 엔진이다. 다른 템플릿 엔진과 마찬가지로 FreeMarker는 MVC 패턴을 따르는 애플리케이션에서 HTML 웹 페이지를 지원하도록 설계되었다. 2. 메이븐 의존성 Maven 기반 프로젝트이므로 먼저 pom.xml에 필요한 종속성을 ...
1. Velocity Velocity는 일반 텍스트 파일, SQL, XML, Java 코드 및 기타 여러 유형으로 작업할 수 있는 Apache Software Foundation의 템플릿 엔진이다. 2. 메이븐 의존성 다음 종속성을 사용하여 Velocity 지원을 활성화한다. <dependency> <groupId>or...
1. 메이븐 의존성 종속성을 추가한다. <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.7.RELEASE</version&...
1. Handleradapter란 HandlerAdapter는 기본적으로 Spring MVC에서 매우 유연한 방식으로 HTTP 요청 처리를 용이하게 하는 인터페이스이다. 이는 메소드를 특정 URL에 매핑하는 HandlerMapping과 함께 사용된다. 그러면 DispatcherServlet은 HandlerAdapter를 사용하여 이 메소드를 호출한...
1. 개별 객체를 요청 매개변수에 바인딩 간단한 유형을 바인딩한다. Converter<S, T> 인터페이스의 사용자 정의 구현을 제공해야 한다. 여기서 S는 변환할 원본 유형이고 T는 변환할 유형이다. @Component public class StringToLocalDateTimeConverter implements Converter...
1. 간단한 단계 따라야 할 간단한 단계이다. 오류가 생성될 때마다 오류를 처리하는 메서드에 매핑되는 web.xml에 단일 URL /errors를 지정한다. /errors 매핑을 사용하여 ErrorController라는 컨트롤러를 만든다. 런타임 시 HTTP 오류 코드를 파악하고 HTTP 오류 코드에...
1. 문제 Spring으로 API 엔드포인트를 구현할 때 일반적으로 소비/생산 미디어 유형을 지정해야 한다(소비 및 생성 매개변수를 통해). 이렇게 하면 API가 해당 특정 작업에 대해 클라이언트에 다시 반환할 수 있는 형식이 좁아진다. HTTP 에는 클라이언트가 인식하고 수락할 수 있는 미디어 유형을 지정하는 데 사용되는 전용 “Accept” 헤더...