Repository navigation
[category] 문서 분류 기능 및 API 추가 - #40
Merged
Merged
Conversation
ZaMan0806
force-pushed
the
feat/article-category-api
branch
from
October 12, 2026 02:18
1650d0a to
6d1f74e
Compare
ZaMan0806
force-pushed
the
feat/article-category-api
branch
from
October 12, 2026 02:23
6d1f74e to
546990a
Compare
ZaMan0806
force-pushed
the
feat/article-category-api
branch
from
October 12, 2026 02:57
546990a to
279eca2
Compare
ZaMan0806
force-pushed
the
feat/article-category-api
branch
from
October 12, 2026 03:10
279eca2 to
747053f
Compare
ZaMan0806
force-pushed
the
feat/article-category-api
branch
from
October 12, 2026 03:13
747053f to
d09d7d3
Compare
- 별도 categories 테이블과 articles.category_id 추가 (parent 계층은 건드리지 않음) - 분류 생성(관리자), 분류 목록(문서 수 포함), 분류별 문서 목록 API - 문서 생성·수정 시 categoryId 지정, 문서 응답에 분류 포함 - Mongo 읽기 뷰·이벤트·정합성 복구에 분류를 함께 반영 Closes #27
- 정합성 복구 배치와 MySQL 읽기 경로가 분류를 fetch join으로 함께 조회하도록 수정 (트랜잭션 밖에서 category.name 접근 시 LazyInitializationException으로 복구가 조용히 건너뛰어지던 문제) - 클래스 레벨 @validated를 제거해 범위를 벗어난 page/size가 500 대신 400이 되도록 수정
- 검색 PR(#32)이 ArticleMongoEntity에 필수 필드(searchText)를 추가해도 깨지지 않도록 위치 인자 생성 대신 mock 사용
ZaMan0806
force-pushed
the
feat/article-category-api
branch
from
October 12, 2026 03:26
d09d7d3 to
985048e
Compare
snowykte0426
previously approved these changes
Oct 13, 2026
# Conflicts: # src/main/kotlin/io/github/wntopia/gikipedia/server/domain/article/entity/ArticleMongoEntity.kt
snowykte0426
approved these changes
Oct 13, 2026
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.
Summary
Closes #27
Changes
categories테이블 +articles.category_id(nullable).ArticleJpaEntity.parent(계층)와 별개의 평면 분류로 두었고parent는 건드리지 않았습니다.POST /api/v1/categories(관리자),GET /api/v1/categories(분류별 문서 수 포함),GET /api/v1/categories/{id}/articlescategoryId. 수정에서 생략하면 유지(분류를 비우는 기능은 없음). 분류 변경은 리비전을 만들지 않음category {id, name}포함. 읽기 경로(Redis → Mongo)가 MySQL을 보지 않도록 분류를 Mongo 뷰·동기화 이벤트·정합성 복구에 함께 복사Test
./mill test,./mill spotless --check통과시안의 실제 분류 체계(학교 / 동아리 / 행사 / 인물)는 관리자가 API로 만들어야 합니다(시드 데이터 없음).
Checklist
Stack created with GitHub Stacks CLI • Give Feedback 💬