feat: 외부 공개 API 문서 정책 추가 - #77
Merged
Merged
Conversation
Whale0928
marked this pull request as ready for review
July 16, 2026 20:53
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
변경 목적
/openapi.json을 서버에 구현된 전체 endpoint 목록이 아니라 외부 API 소비자에게 공개하기로 결정한 API의 allowlist로 관리합니다.자사 대시보드, 관리자, 시스템 및 중복 transport endpoint는 런타임 동작을 유지하면서 OpenAPI와 공개 Markdown 문서에서 숨깁니다.
변경 로그
OpenAPI 공개 경계
AuthController와SyncController를 클래스 단위@Hidden으로 전환했습니다.@Hidden으로 전환했습니다.AuthOpenApi,SyncOpenApi,AcceptWord,BasicProfanityForm문서 annotation을 제거했습니다.LoginJwtAuthsecurity scheme을 제거했습니다.정책 강제
app.openapi합성 annotation 하나 또는 유효한@Hidden중 정확히 하나만 갖도록 ArchUnit 규칙을 변경했습니다.ApiKeyAuth문서 검증을 적용합니다.공개 문서와 개발 스킬
/overview.md소스에서 대시보드 로그인, 관리자 sync, 단어 승인 계약을 제거했습니다.api-development스킬과 3개 평가 사례를 추가했습니다.영향
/openapi.json과/overview.md에서 내부 API만 사라집니다.@Hidden을 반드시 선택해야 합니다.검증
./gradlew --no-daemon staticCheck통과api-developmentskill validator 통과18081HTTP 확인/openapi.json,/overview.md, health, ping HTTP 200LoginJwtAuth비노출 및ApiKeyAuth유지확인된 별도 이슈
지정된 로컬
.env의 DB는 Hibernate schema validation에서client_reports.api_key컬럼 누락으로 정상 기동되지 않았습니다. 이 PR은 DB나 migration을 수정하지 않습니다. OpenAPI HTTP smoke는 해당 프로세스에서만 schema validation을 비활성화해 수행했으며 파일과 DB에는 변경을 가하지 않았습니다.