Spring Framework(168)
-
WebMvcLinkBuilder
📌 WebMvcLinkBuilder란?WebMvcLinkBuilder는 Spring HATEOAS에서 하이퍼미디어 링크를 생성하는 유틸리티 클래스입니다.REST API에서 클라이언트가 동적으로 리소스를 탐색할 수 있도록 self, update, delete 등의 링크를 쉽게 추가하는 데 사용됩니다.🎯 1. WebMvcLinkBuilder의 역할✅ Spring MVC 컨트롤러의 메서드를 기반으로 동적으로 링크를 생성✅ RESTful API에서 HATEOAS(하이퍼미디어)를 지원하는 핵심 클래스✅ 클라이언트가 API 엔드포인트를 쉽게 탐색할 수 있도록 도움✅ Spring Boot 애플리케이션에서 URI를 직접 하드코딩하지 않고 자동으로 생성 가능📌 2. WebMvcLinkBuilder 사용법📌 Ste..
2024.12.11 -
_links
📌 _links란?_links는 RESTful API에서 하이퍼미디어(HATEOAS)를 지원하기 위해 사용되는 JSON 필드로,클라이언트가 API 응답을 통해 동적으로 리소스를 탐색할 수 있도록 도와줍니다.Spring HATEOAS에서는 RepresentationModel을 활용해 _links 필드를 자동으로 생성할 수 있습니다.🎯 1. _links의 개념🔹 REST API에서 리소스 간 탐색을 가능하게 함🔹 HATEOAS(Hypermedia as the Engine of Application State)의 핵심 요소🔹 각 리소스가 어떤 동작을 수행할 수 있는지 명확하게 제공🔹 클라이언트가 URL을 직접 구성하지 않고도 API를 동적으로 탐색 가능📌 2. _links의 역할과 구조✅ 예제 A..
2024.12.11 -
self 링크
🌐 Self 링크란?Self 링크는 RESTful API에서 현재 리소스를 참조하는 자기 자신을 가리키는 하이퍼미디어 링크입니다.REST API에서 클라이언트가 API 문서를 참조하지 않고도 동적으로 리소스를 탐색할 수 있도록 도와주는 HATEOAS(Hypermedia as the Engine of Application State) 개념의 핵심 요소입니다.📌 1. Self 링크의 역할🔹 현재 리소스를 명확하게 참조🔹 클라이언트가 URL을 직접 구성하지 않아도 API를 사용할 수 있도록 지원🔹 REST API의 유연성과 유지보수성을 향상🔹 HATEOAS를 활용한 동적 API 탐색 가능🎯 2. Self 링크의 특징특징설명📌 현재 리소스를 참조API 응답에 포함된 링크가 현재 데이터의 위치를 명..
2024.12.09 -
EntityModel
📌 EntityModel란?Spring HATEOAS에서 제공하는 EntityModel는 단일 리소스(엔터티)와 하이퍼미디어 링크를 함께 포함할 수 있는 컨테이너 클래스입니다.🔹 주요 역할1️⃣ REST API에서 엔터티 데이터를 감싸고 링크를 추가2️⃣ 하이퍼미디어(HATEOAS) 원칙을 따르는 API를 만들 수 있도록 지원3️⃣ RepresentationModel를 상속받으며, 추가적으로 엔터티 데이터를 보관 가능🎯 EntityModel의 기본 구조아래 License 클래스를 기반으로 EntityModel의 사용법을 알아보겠습니다.✅ 기본 엔티티 클래스import lombok.Getter;import lombok.Setter;@Getter@Setterpublic class License { ..
2024.12.09 -
RepresentationModel
🌟 RepresentationModel란?Spring HATEOAS(Hypermedia As The Engine Of Application State)는 REST API에서 하이퍼미디어 링크를 추가할 수 있도록 도와주는 라이브러리입니다.RepresentationModel는 HATEOAS 기능을 활용할 수 있도록 지원하는 기본 클래스입니다.🔹 주요 역할✅ REST API 응답에 링크를 추가하여 API 탐색을 용이하게 함✅ RepresentationModel를 확장하면 클라이언트가 동적으로 리소스를 탐색 가능✅ 엔티티를 REST 응답으로 반환할 때 추가적인 링크를 포함하는 방식으로 확장 가능🎯 RepresentationModel 활용 예제아래 License 클래스를 통해 RepresentationMod..
2024.12.09 -
Spring AOP APIs
이전 장에서는 @AspectJ와 스키마 기반의 애스펙트 정의를 사용한 Spring의 AOP 지원에 대해 설명했습니다. 이번 장에서는 더 낮은 레벨의 Spring AOP API에 대해 논의합니다. 일반적인 애플리케이션에서는 이전 장에서 설명한 AspectJ 포인트컷을 사용한 Spring AOP를 사용하는 것을 권장합니다. Section SummaryPointcut API in SpringAdvice API in SpringThe Advisor API in SpringUsing the ProxyFactoryBean to Create AOP ProxiesConcise Proxy DefinitionsCreating AOP Proxies Programmatically with the ProxyFactoryMani..
2024.12.02