피드로 돌아가기
API Endpoint Tasarımında Küçük Bir Detay, Büyük Bir Fark
Dev.toDev.to
Backend

Resource-Filter 분리 설계를 통한 API 확장성 및 유지보수성 확보

API Endpoint Tasarımında Küçük Bir Detay, Büyük Bir Fark

Barış Bideratan2026년 5월 11일2beginner

Context

Resource의 속성을 Path Parameter로 처리하여 Endpoint가 기하급수적으로 증가하는 안티 패턴 발생. 도메인 모델링 오류로 인한 Route 파편화 및 중복 리스팅 로직 분산 문제 노출.

Technical Solution

  • Resource 정의를 Path(/followers)로 한정하여 API의 예측 가능성 확보
  • 속성 기반 필터링을 Query Parameter(?verified=true)로 전환하여 단일 Endpoint 구조 설계
  • 상태 값 확장을 고려한 Generic Parameter(?status=verified) 도입으로 도메인 변화 대응력 강화
  • Pagination, Sorting, Search 기능을 Query Parameter 조합으로 통합하여 인터페이스 일관성 유지
  • Path는 Resource 식별, Query는 Resource 필터링이라는 RESTful API 설계 원칙 적용

1. Resource의 상태나 속성을 구분하기 위해 새로운 Path를 생성하고 있지는 않은가?

2. 향후 추가될 가능성이 있는 상태 값이 Query Parameter로 수용 가능한 구조인가?

3. 동일한 리스팅 로직이 서로 다른 Endpoint에 중복 구현되어 있는가?

4. Path는 '무엇(What)'을 가져올지 정의하고, Query는 '어떻게(How)' 필터링할지 정의하고 있는가?

원문 읽기