과도한 페칭에 대한 REST API 솔루션: .NET 9 예제


이 글은 GraphQL의 대안으로 REST API에서 over-fetching 문제를 해결하는 방법을 소개합니다.

핵심 해결책: include 쿼리 파라미터

REST API의 약점으로 지적되는 over-fetching(필요 이상의 데이터를 가져오는 문제)을 include 파라미터로 해결할 수 있습니다. 클라이언트가 필요한 추가 데이터를 명시적으로 요청하는 방식입니다.

구현 예시

GET /transactions?limit=2&include=total,categories.totalSum

이 요청은 기본 트랜잭션 목록과 함께:

  • total: 전체 항목 수 (페이지네이션용)
  • categories.totalSum: 카테고리별 합계

를 선택적으로 포함시킵니다.

장점

  • GraphQL처럼 클라이언트가 필요한 데이터만 요청 가능
  • REST의 단순함 유지
  • 구현이 비교적 간단
  • 집계 쿼리 등 복잡한 요구사항도 처리 가능

글에서는 .NET 9과 Entity Framework를 사용한 실제 구현 예제를 제공하며, IncludeQueryParameter 클래스를 통해 쉽게 처리하는 방법을 보여줍니다. 이는 GraphQL의 복잡성 없이도 유연한 API를 만들 수 있는 실용적인 접근법입니다.

1개의 좋아요