이야기를 디버깅하는 개발자.

개발과 창작 사이에서, 사람들이 자기만의 이야기를 만들 수 있는 도구와 기록을 만듭니다.

roslyn.dev 자세히보기

Server Actions 2

Next.js Server Actions와 캐시 무효화 — revalidatePath와 revalidateTag를 함께 설계하기

Server Actions로 폼 제출과 데이터 변경 코드를 가까이 둘 수 있지만, 저장이 끝난 뒤 화면이 왜 갱신되지 않는지는 별도의 문제입니다. 서버 데이터, 전체 경로, 브라우저 라우터 캐시가 서로 다른 층에 있기 때문입니다.이번 글에서는 액션을 도입하는 방법보다 액션 이후 어떤 캐시를 언제 무효화할지에 집중합니다. 문서 버전과 현재 App Router 동작은 발행 전에 다시 확인해야 합니다.Server Action은 서버 함수이지만 권한 경계가 아닙니다Server Action은 서버에서 실행되고 POST로 호출되지만, 호출된 함수 안에서 인증과 권한을 다시 확인해야 합니다. 화면에서 버튼을 숨겼다고 해서 사용자가 해당 액션을 호출할 수 없게 되는 것은 아닙니다.저는 액션의 첫 부분에서 세 가지를 확..

카테고리 없음 2026.10.02

Next.js Server Actions로 API 레이어 걷어내기 — 전환 기록과 한계

엔드포인트 목록을 열어놓고 하나씩 세어본 적이 있습니다. 화면 하나를 만들려고 라우트 파일을 만들고, 요청 타입을 정의하고, 클라이언트에서 부를 함수를 또 만들고, 응답 타입을 다시 선언하는 일이 반복되고 있었습니다. 실제 로직은 열 줄인데 그걸 감싸는 껍데기가 세 배쯤 됐습니다.Server Actions로 몇 개를 옮겨보기 시작한 건 그 목록을 본 다음이었습니다. 결론부터 말하면 절반쯤 옮겼고 나머지는 그대로 두었습니다. 이 글은 무엇을 옮겼고 무엇을 왜 남겼는지에 대한 기록입니다.옮기면서 실제로 줄어든 것가장 크게 체감한 것은 같은 타입을 두 번 쓰지 않아도 된다는 점이었습니다. 서버 함수를 직접 호출하는 형태가 되니 인자와 반환 타입이 그대로 이어집니다. 필드 이름을 바꿨을 때 컴파일 단계에서 잡히..

반응형