Skip to content

[Feature] 알림 메시지 템플릿 관리 Admin API 구현 #233

Description

@dongmin0204

배경

#232 에서 MessageTemplate 엔티티와 DB 우선 MessageSource가 구현된 후, 관리자가 메시지를 조회·수정·초기화할 수 있는 REST API 필요.

구현 내용

엔드포인트

메서드 경로 설명
GET /api/admin/messages 전체 키 목록 + 현재 값(DB 오버라이드 or 기본값) 조회
PATCH /api/admin/messages/{key} 특정 키 값을 DB에 저장(오버라이드)
DELETE /api/admin/messages/{key} 오버라이드 삭제 → 기본값(properties) 복원

Response 구조 (GET)

[
  {
    "key": "notification.expired.dm",
    "defaultValue": "안녕하세요 {0}님, 요청하신 GPU 서버 사용 기간이 만료되어 리소스가 정리되었습니다.",
    "currentValue": "커스텀 값 (DB 오버라이드 시)",
    "isOverridden": true
  }
]

구현 파일

domain/messageTemplate/
  controller/AdminMessageTemplateController.java
  service/MessageTemplateService.java
  dto/MessageTemplateResponseDto.java
  dto/MessageTemplateUpdateRequestDto.java

기술 포인트

  • messages.properties 기본값 읽기: @Value("classpath:messages.properties") + PropertiesLoaderUtils.loadProperties()
  • 주석(#) 라인 제외, 키-값 파싱 후 DB 오버라이드와 머지
  • 권한: ADMIN 롤만 접근 가능 (SecurityConfig 경로 허용 추가 필요)

의존

관련 이슈

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions