배경
관리자 지원자 목록은 GET /admin/applies로 조회할 수 있고, 목록 응답의 applyId로 지원서 상세를 조회할 수 있습니다.
현재 GET /admin/applies/{applyId}는 지원자의 기본 정보만 반환합니다. ApplicationForm.content에 저장된 지원서 문항 답변과 ApplicationForm.portfolios가 상세 응답에 노출되지 않아 별도 조회 또는 운영 DB 직접 조회가 필요합니다.
목표
GET /admin/applies/{applyId} 응답에 지원서 문항 답변과 포트폴리오 목록을 포함합니다.
구현 범위
AdminApplyDetailResponse에 Map<String, String> answers 추가
AdminApplyDetailResponse에 List<ApplyPortfolioDto> portfolios 추가
- 기존
String2MapSerializer로 ApplicationForm.content를 답변 Map으로 변환
- 기존
ApplyPortfolioDto.from(Portfolio) 재사용
- 답변이 없거나
ApplicationForm이 없으면 answers: {} 반환
- 포트폴리오가 없으면
portfolios: [] 반환
- 기존
GET /admin/applies 목록 응답에는 추가하지 않음
- 별도 API, DB 마이그레이션, 운영 데이터 변경은 하지 않음
완료 조건
- 상세 조회 응답에 질문 ID별 답변이
answers로 포함된다.
- 상세 조회 응답에
fileUrl, fileName, fileSize, sequence가 포함된다.
- 포트폴리오가
sequence 오름차순으로 반환된다.
- 답변 또는 포트폴리오가 없는 지원서는 각각 빈 Map·빈 배열을 반환한다.
- 기존 관리자 인증·권한과 상세 응답 필드는 유지된다.
- 관련 서비스 테스트가 통과한다.
배경
관리자 지원자 목록은
GET /admin/applies로 조회할 수 있고, 목록 응답의applyId로 지원서 상세를 조회할 수 있습니다.현재
GET /admin/applies/{applyId}는 지원자의 기본 정보만 반환합니다.ApplicationForm.content에 저장된 지원서 문항 답변과ApplicationForm.portfolios가 상세 응답에 노출되지 않아 별도 조회 또는 운영 DB 직접 조회가 필요합니다.목표
GET /admin/applies/{applyId}응답에 지원서 문항 답변과 포트폴리오 목록을 포함합니다.구현 범위
AdminApplyDetailResponse에Map<String, String> answers추가AdminApplyDetailResponse에List<ApplyPortfolioDto> portfolios추가String2MapSerializer로ApplicationForm.content를 답변 Map으로 변환ApplyPortfolioDto.from(Portfolio)재사용ApplicationForm이 없으면answers: {}반환portfolios: []반환GET /admin/applies목록 응답에는 추가하지 않음완료 조건
answers로 포함된다.fileUrl,fileName,fileSize,sequence가 포함된다.sequence오름차순으로 반환된다.