Update API는 한 번에 처리할까? 필드별 나눠 처리할까
2024. 1. 2. 05:45
728x90

Update API – 한번에 수정할까? 각각 나눠서 수정할까?

클라이언트에서 여러 필드를 수정해야 할 때,
1개의 API로 한 번에 처리할지
여러 개의 API로 나눠 처리할지 고민한 적 있으신가요?


1. 한번에 수정하기 (PATCH / PUT)

PATCH /user/profile
{
  "nickname": "정박",
  "bio": "백엔드 개발자",
  "phone": "010-1234-5678"
}
  • 한 요청에 모든 필드를 전달
  • 클라이언트/서버 모두 로직이 단순해짐
  • 트랜잭션 처리도 용이
  • 변경하지 않는 값도 함께 보내야 하는 경우가 있음
  • 부분 업데이트(PATCH) or 전체 업데이트(PUT)로 분기 가능

2. 각각 수정하기 (분할 API)

PATCH /user/nickname
PATCH /user/phone
PATCH /user/bio
  • 필드별로 독립된 API 구성
  • 각 필드의 validation, logging, audit 등 개별 처리 가능
  • 설정 UI와 잘 어울림 (마이페이지 등)
  • 요청 수 증가 → 네트워크/성능 이슈 가능성

무엇이 더 효율적인가?

기준 한번에 수정 각각 수정
요청 수 1번 N번
유효성 검사 통합 필드별
유지보수 간단 (전체) 명확 (세부)
트랜잭션 처리 쉬움 복잡할 수 있음
UI 연동 폼 제출에 적합 인라인 수정에 적합

선택 기준은?

  •  폼 단위로 입력 받고 한 번에 저장 → 한번에 수정
  •  인라인 수정이나 필드 단위 UX → 각각 수정
  •  필드마다 validation이 전혀 다를 경우 → 각각이 낫다
  •  사용자 편의성과 성능을 모두 고려해야 한다면 → 하이브리드 고려도 OK

결론

  • 유지보수와 UX, API 설계 일관성, 트래픽에 따라 결정해야 합니다.
  • 처음엔 "한 번에" 처리로 시작하고, 필요 시 "세분화"하는 방식도 추천됩니다.
반응형