피드로 돌아가기
Go Admin Dashboard for E-Commerce with HTMX, Templ UI, and GORM - Part 3
Dev.toDev.to
Backend

Go-Fiber와 HTMX를 활용한 단일 엔드포인트 다중 응답 구조 설계

Go Admin Dashboard for E-Commerce with HTMX, Templ UI, and GORM - Part 3

ColaFanta2026년 5월 7일8intermediate

Context

관리자 대시보드 구축 시 발생하는 반복적인 CRUD 보일러플레이트와 데이터 바인딩의 복잡성 해결 필요. 특히 동일한 데이터 소스를 기반으로 Full Page, Partial HTML, JSON 등 다양한 응답 형식을 처리해야 하는 요구사항 존재.

Technical Solution

  • GORM Generic Interface 도입을 통한 쿼리 타입 안정성 확보 및 코드 중복 제거
  • Fiber v3의 Parameter Binding API를 활용해 Query, URI, Form 데이터를 구조체로 즉시 매핑하는 핸들러 설계
  • Fiber Service 패턴을 통한 Database Connection의 의존성 주입 및 핸들러 간 공유 구조 구축
  • go-opera 기반 Async Task 처리를 통해 Total Count와 Page Data 쿼리를 병렬로 실행하여 응답 지연 시간 단축
  • HX-Request 헤더 분석 미들웨어를 통한 단일 라우트 내 JSON/Partial HTML/Full HTML 응답 분기 처리 로직 구현

- 동일 엔드포인트에서 Content-Type에 따라 응답을 분기하는 전략적 미들웨어 설계 검토 - 페이지네이션 구현 시 Count 쿼리와 Data 쿼리를 Concurrency하게 처리하여 Latency 개선 - Generic Repository 패턴을 통한 DB 모델 접근 계층의 타입 안전성 및 생산성 향상

원문 읽기