You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
VO 중복 해결 및 패키지 구조 명확화
## 주요 변경사항
### 패키지 구조 재구성
- `go.kr.project.vmis` → `go.kr.project.api.internal`
- `go.kr.project.externalApi` → `go.kr.project.api.external`
- 공통 모델: `go.kr.project.api.model`
- 공통 VO: `go.kr.project.api.vo`
- 공통 설정: `go.kr.project.api.config`
### 새로운 구조
```
go.kr.project.api/
├── model/ # 공통 모델
│ ├── basic/ (BasicRequest, BasicResponse)
│ ├── ledger/ (LedgerRequest, LedgerResponse)
│ └── common/ (Envelope)
├── vo/ # 공통 API 응답 VO
│ ├── VehicleApiResponseVO
│ ├── VehicleBasicInfoVO
│ └── VehicleLedgerVO 등
├── config/ # 공통 설정
│ ├── properties/ (VmisProperties)
│ ├── ApiConstant
│ ├── VmisIntegrationConfig
│ └── DatabaseConfig
├── VehicleInfoService # 공통 인터페이스
├── internal/ # 내부 모드 (기존 vmis)
│ ├── client/
│ ├── config/
│ ├── controller/
│ ├── gpki/
│ ├── mapper/
│ ├── model/ # 내부 전용 DB VO
│ ├── service/
│ └── util/
└── external/ # 외부 모드 (기존 externalApi)
└── service/
```
### VO 중복 제거
- ✅ history 패키지와 api.internal 패키지의 VO 명확히 구분
- ✅ 공통 모델은 api.model에서 공유
- ✅ Bean 충돌 완전 해결
### MyBatis 업데이트
- mapper 디렉토리: `mybatis/mapper/vmis` → `mybatis/mapper/api-internal`
- namespace: `go.kr.project.vmis` → `go.kr.project.api.internal`
### application.yml 업데이트
- mapper-locations: `api-internal/**/*_maria.xml`
## 장점
✅ 패키지 구조 명확화 (internal/external 구분)
✅ 공통 모델 공유로 중복 제거
✅ 더 나은 아키텍처
✅ 모드별 책임 명확
## 빌드 성공 확인 ✅
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
1 month ago | |
|---|---|---|
| DB/DDL | 1 month ago | |
| src/main | 1 month ago | |
| .gitignore | 1 month ago | |
| VMIS_INTEGRATION_COMPLETE.md | 1 month ago | |
| VMIS_INTEGRATION_STRATEGY_DESIGN.md | 1 month ago | |
| VMIS_INTERFACE_INTEGRATION_ANALYSIS.md | 1 month ago | |
| VMIS_INTERFACE_MIGRATION_PLAN.md | 1 month ago | |
| build.gradle | 1 month ago | |
| gradle.properties | 1 month ago | |