End-to-End Hypermedia: 미디어 타입 선택 가이드

Source

  • Evernote/Technote scraps/End-to-End Hypermedia Choosing a Media Type Jimmy Bogard's Blog.1.md

Summary

Jimmy Bogard 의 블로그 포스트로, 하이퍼미디어 기반 API 개발 시 미디어 타입 (Media Type) 선택 전략을 다룹니다. 표준 채택, 자체 설계, 표준 확장 중 표준 기반 접근을 권장하며, 선택 기준으로서 ‘H-Factor’ 개념을 소개합니다. H-Factor 는 링크 지원 및 제어 데이터 (Control Data) 지원 수준을 정량/정성적으로 평가하여 미디어 타입의 하이퍼미디어 성숙도를 비교하는 지표입니다. 주요 후보로 HAL, Collection+JSON, Siren, JSON API, Hydra 등을 언급하며, 단일 미디어 타입으로 모든 요구사항을 충족하기 어렵기 때문에 클라이언트 요구사항 (예: 컬렉션 중심 vs 엔티티 중심) 에 따라 선택하거나 필요시 확장하는 실용적인 접근을 제안합니다.

Key Points

  • 미디어 타입 선택 옵션: 표준 채택 (권장), 자체 설계, 표준 확장
  • H-Factor: 미디어 타입의 하이퍼미디어 지원 수준 (링크, 제어 데이터) 을 측정하여 비교하는 지표
  • HTML 의 H-Factor 분석: 링크 임베딩, 폼 기반 쿼리/업데이트 지원은 우수하나, 읽기 요청 제어 데이터 및 멱등성 업데이트 (PUT/DELETE) 지원은 제한적
  • 주요 하이퍼미디어 미디어 타입: HAL, Collection+JSON, Siren, JSON API, Hydra, JSON-LD
  • 선택 전략: 클라이언트 UI/UX 요구사항 (예: 테이블 표시, 관련 항목 조회) 에 맞춰 최적의 타입 선택 또는 혼합 사용 가능
  • 실무 사례: 컬렉션 중심 UI 에 Collection+JSON 선택 후, 부족한 기능 (링크 제어 데이터 등) 은 자체 확장하여 적용