From 28699414621b02b4aab80204664c62f861ac765f Mon Sep 17 00:00:00 2001 From: selee1012 Date: Sat, 31 Oct 2026 11:30:10 +0900 Subject: [PATCH] =?UTF-8?q?docs(verification):=20sync=20=EB=AC=B8=EC=84=9C?= =?UTF-8?q?=EC=97=90=20=ED=98=B8=EC=B6=9C=20=EA=B0=84=EA=B2=A9=C2=B7429=20?= =?UTF-8?q?=EC=9E=AC=EC=8B=9C=EB=8F=84=20=EA=B7=9C=EC=B9=99=EC=9D=84=20?= =?UTF-8?q?=EC=A0=81=EB=8A=94=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 평상시 5분·backlog 10초 간격, retryAfterSeconds 만큼 기다린 뒤 재시도, 오류로 끝난 sync 는 간격을 쓰지 않는다(#378)를 Swagger 에 반영한다. Co-Authored-By: Claude Opus 5.5 --- .../verification/controller/VerificationController.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/com/ruleup/ruleup_backend/verification/controller/VerificationController.java b/src/main/java/com/ruleup/ruleup_backend/verification/controller/VerificationController.java index 15dd0413..05d4bbb2 100644 --- a/src/main/java/com/ruleup/ruleup_backend/verification/controller/VerificationController.java +++ b/src/main/java/com/ruleup/ruleup_backend/verification/controller/VerificationController.java @@ -76,6 +76,12 @@ public class VerificationController { - 멱등은 신호 단위(`recordId` 우선). 요청 gzip(`Content-Encoding: gzip`) 지원(선택). `SYNC_PAYLOAD_TOO_LARGE` 를 받으면 구간을 반으로 쪼개 재전송한다. + + **호출 간격(429 `SYNC_TOO_FREQUENT`):** 같은 유저의 sync 는 평상시 5분, `backlog=true` 는 10초에 한 번까지 받는다. + - 간격 안에 다시 보내면 429 이고, 응답의 `retryAfterSeconds` 가 다시 보낼 수 있을 때까지 남은 초다 — + 재시도는 그만큼 기다린 뒤에 한다(그 사이 재시도는 다시 429). + - 거부된 호출은 간격을 새로 시작하지 않는다. + - **오류 응답(4xx·5xx)으로 끝난 sync 는 간격을 쓰지 않은 것으로 친다** — 고쳐서 곧바로 다시 보내도 429 가 나지 않는다. """) @ApiErrorCodes({ErrorCode.INVALID_SIGNAL_PAYLOAD, ErrorCode.LOGIN_REQUIRED, ErrorCode.SYNC_PAYLOAD_TOO_LARGE, ErrorCode.SYNC_TOO_FREQUENT})