Spring Framework/Spring HATEOAS(6)
-
HATEOAS(Hypermedia as the Engine of Application State)
🌐 HATEOAS(Hypermedia as the Engine of Application State) 상세 설명🔥 1. HATEOAS란?HATEOAS(Hypermedia as the Engine of Application State)는 REST API의 확장 개념으로,클라이언트가 별도의 API 문서 없이도 응답 데이터에 포함된 하이퍼링크를 사용하여 동적으로 리소스를 탐색할 수 있도록 하는 기법입니다.✅ 즉, API 응답에 다음 가능한 액션(링크)을 포함하여, API 사용자가 이를 보고 자연스럽게 API를 활용할 수 있도록 하는 것! 📌 REST API vs HATEOASREST APIHATEOAS요청에 대해 JSON/XML 응답 반환응답에 추가 가능한 링크(URI) 포함API 문서를 따로 확인해야 ..
2025.03.03 -
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