서버 액션 적용 기준

서버 액션 선택 기준

일반 함수처럼 보이지만 실제로는 네트워크 요청, 서버 실행, 캐시 무효화가 함께 움직이므로 호출 위치와 운영 제약을 먼저 정리합니다.

trigger

호출 위치

  • form action이나 버튼 동작에서 호출
  • 사용자 입력을 FormData로 전달
  • 읽기 전용 데이터 조회에는 남발하지 않음
validate

서버 책임

  • 권한, 소유자, 입력 스키마 검증
  • DB 변경과 외부 API 호출 처리
  • 중복 제출과 실패 재시도 고려
sync

캐시 동기화

  • 변경된 화면은 revalidatePath로 갱신
  • 여러 화면이 묶이면 tag 기준 사용
  • 완료 후 redirect로 흐름 정리
runtime

배포 제약

  • Node API, DB 드라이버 요구 사항 확인
  • Edge 배포는 지원 API를 다시 점검
  • 환경 변수와 로그 노출 범위 분리

서버 액션으로 충분한가

action or route
서버 액션 선택

앱 내부 폼 제출, 설정 변경, 목록 추가처럼 화면과 데이터 변경이 바로 연결될 때 적합합니다.

재검증까지 같은 함수에서 처리
Route Handler 선택

외부 서비스 웹훅, 공개 API, 파일 업로드, 스트리밍 응답처럼 HTTP 계약이 중심일 때 분리합니다.

요청/응답 형식을 명시
둘 다 필요한 경우

공통 서버 로직을 별도 함수로 두고 액션과 라우트 핸들러가 같은 검증과 저장 코드를 호출합니다.

중복보다 계약 분리