You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
기준 source: origin/develop@97c3af7f3e211c0bb469272178489f434269bfc4
공개 명세 확인일: 2026-08-31
심각도: P1 계약 / runtime 자체는 P2
분류: 클라이언트 공개 계약 + 서버 Swagger annotation
현재 Java source에는 팀원 모집 operation 23개가 있지만 공개 team-recruitment-api.peridot-ocean.workers.dev/openapi.json에는 22개만 있으며 알림 단건 DELETE가 빠져 있습니다. DTO nullability, timestamp, 필드 우선순위 설명도 runtime과 완전히 정렬되어 있지 않습니다.
기대: Java에서 생성한 OpenAPI와 공개 계약의 team path/method/status/schema가 같습니다.
현재: 클라이언트가 보는 공개 문서와 서버 source가 서로 다른 API를 설명합니다.
📱 클라이언트 영향
클라이언트가 삭제 API를 발견하지 못하거나 nullable 필드를 non-null로 생성할 수 있습니다. TEAM counterpart, GENERAL role, notification optional ID, d_day, timestamp 형식을 정확히 표현해야 합니다.
📦 작업 순서
관련 runtime 정책 이슈와 전역 OpenAPI customizer를 먼저 확정합니다.
🔍 개요
origin/develop@97c3af7f3e211c0bb469272178489f434269bfc4현재 Java source에는 팀원 모집 operation 23개가 있지만 공개
team-recruitment-api.peridot-ocean.workers.dev/openapi.json에는 22개만 있으며 알림 단건 DELETE가 빠져 있습니다. DTO nullability, timestamp, 필드 우선순위 설명도 runtime과 완전히 정렬되어 있지 않습니다.🧪 관찰 결과
DELETE /team-recruitments/notifications/{notificationId}: 없음기대 동작 / 현재 동작
📱 클라이언트 영향
클라이언트가 삭제 API를 발견하지 못하거나 nullable 필드를 non-null로 생성할 수 있습니다. TEAM
counterpart, GENERALrole, notification optional ID,d_day, timestamp 형식을 정확히 표현해야 합니다.📦 작업 순서
✅ 완료 조건
apply_block_reason우선순위가 실제 source와 일치합니다.$ref와 operationId, response key, 204 body 검사가 통과합니다.🚫 범위 밖