목차
1. 기존 필드와 새로운 API 필드 매칭
기존 필드에서 새로운 API 필드로 변환 가능 여부 분석
기존 필드 (Response) |
기존 DTO (YouthPolicyResponseDto.java) |
기존 필드 설명 (Response) |
새로운 API 필드 (youthPolicyList) |
새로운 API 필드 설명 (youthPolicyList) |
매칭 가능 여부 |
id | bizId | 정책 id | plcyNo | 정책번호 | ✅ (DTO 필드명 변경) |
title | polyBizSjnm | plcyNm | 정책명 | ✅ (DTO 필드명 변경) | |
introduce | polyItcnCn | 정책 소개 | plcyExplnCn | 정책설명내용 | ✅ (DTO 필드명 변경) |
classification | polyRlmCd | 정책 분야 코드 | bscPlanPlcyWayNo | 기본계획정책방향번호 | ⚠️ (정책 분야 코드 변경됨 - 기본계획정책방향API 참고) |
applicationDetails | sporCn | 신청 세부 사항 | plcySprtCn | 정책지원내용 | ✅ (DTO 필드명 변경) |
region | polyBizSecd | 지역 코드 | zipCd | 정책거주지역코드 | ⚠️ (지역필터링 데이터가 없어짐 - 해당 필드를 사용한다면 데이터 변경 필요) |
ageInfo | ageInfo | 연령 정보 | sprtTrgtAgeLmtYn | 지원대상연령제한여부 | ⚠️ (N: 제한O, Y: 제한X) |
. | . | . | sprtTrgtMinAge | 지원대상최소연령 | 최소/최대 연령 정보를 이용하여 변경 필요 |
. | . | . | sprtTrgtMaxAge | 지원대상최대연령 | 최소/최대 연령 정보를 이용하여 변경 필요 |
residenceAndIncome | prcpCn | 거주지 및 소득 조건 | zipCd | 정책거주지역코드 | ⚠️ (거주지역코드가 법정동코드로 제공됨 - 코드 매칭 구현에 대한 고민 필요) |
, | . | , | earnMinAmt | 소득최소금액 | 소득 최소/최대 금액이 0일 경우 "무관" |
. | . | . | earnMaxAmt | 소득최대금액 | 소득 최소/최대 금액이 0일 경우 "무관" |
. | . | . | earnEtcCn | 소득기타내용 | |
education | accrRqisCn | 학력 요건 | schoolCd | 정책학력요건코드 | ✅ (DTO 필드명 변경) |
specialization | splzRlmRqisCn | 전공 요건 | sbizCd | 정책특화요건코드 | ✅ (DTO 필드명 변경) |
additionalNotes | aditRscn | 추가 사항 | addAplyQlfcCndCn | 추가신청자격조건내용 | ✅ (DTO 필드명 변경) |
participationRestrictions | prcpLmttTrgtCn | 참여 제한 사항 | ptcpPrpTrgtCn | 참여제안대상내용 | ✅ (DTO 필드명 변경) |
applicationProcess | rqutProcCn | 신청 절차 | plcyAplyMthdCn | 정책신청방법내용 | ✅ (DTO 필드명 변경) |
screeningAndAnnouncement | jdgnPresCn | 심사 발표 내용 | srngMthdCn | 심사방법내용 | ✅ (DTO 필드명 변경) |
applicationSite | rqutUrla | 신청 사이트 주소 | aplyUrlAddr | 신청URL주소 | ✅ (DTO 필드명 변경) |
submissionDocuments | pstnPaprCn | 제출 서류 내용 | sbmsnDcmntCn | 제출서류내용 | ✅ (DTO 필드명 변경) |
additionalUsefulInformation | etct | 기타 유익 정보 | etcMttrCn | 기타사항내용 | ✅ (DTO 필드명 변경) |
supervisingAuthority | mngtMson | 주관 기관 | sprvsnInstCdNm | 주관기관코드명 | ✅ (DTO 필드명 변경) |
operatingOrganization | cnsgNmor | 운영 기관 | operInstCdNm | 운영기관코드명 | ✅ (DTO 필드명 변경) |
businessRelatedReferenceSite1 | rfcSiteUrla1 | 사업관련 참고 사이트1 | refUrlAddr1 | 참고URL주소 | ✅ (DTO 필드명 변경) |
businessRelatedReferenceSite2 | rfcSiteUrla2 | 사업관련 참고 사이트2 | refUrlAddr2 | 참고URL주소 | ✅ (DTO 필드명 변경) |
거주지
기존보다 자세한 지역 정보 제공함.
청하에서는 거주지와 소득을 함께 제공함. → 거주지 정보가 구체적으로 변경됨에 따라 “거주지(거주지역)”과 “소득”을 분리하는 것이 어떨지 고려 필요.
간단 정리
새로운 API 비교할 만한 데이터
- https://www.youthcenter.go.kr/youthPolicy/ythPlcyTotalSearch/ythPlcyDetail/20250220005400210475?isNew=Y
{
"plcyNo": "20250220005400210475",
"bscPlanCycl": "1",
"bscPlanPlcyWayNo": "001",
"bscPlanFcsAsmtNo": "001",
"bscPlanAsmtNo": "002",
"pvsnInstGroupCd": "0054002",
"plcyPvsnMthdCd": "0042013",
"plcyNm": "대구광역시 청년 국가기술자격시험 응시료 지원",
"plcyExplnCn": "미취업 청년에게 사회진출 시 필요한 자격증 응시료 지원을 통해 경제적 부담을 경감하고 사회진입 활성화를 도모 및 취업 준비 비용을 지원",
"plcySprtCn": "❍ 지원대상 : 19세 ~ 39세 대구광역시 거주(주민등록) 미취업 청년\n ※ 응시일 현재 미취업자 * 2025. 1. 1. 이후 실시한 시험 \n❍ 모집인원 : 매월 70명 정도\n❍ 지원내용 : 당해연도 응시한 시험에 한해 1인 3회, 최대 10만원이내 실비지원\n ※ 동종시험에 한해 필기시험·실기시험, 1차·2차 구분없이 총 3회까지 신청 가능\n❍ 지원종목 : 국가기술자격시험 ※ 국가기술자격법 시행규칙 별표2. \n❍ 신청기간 : ’25. 3월 ~ ’25. 11월(매월 20일부터 선착순 접수)\n❍ 신청방법 : 온라인* 신청(구글 설문지를 통한 신청) 및 방문 신청(청년센터 활동그래)\n * 청년커뮤니티포털 ‘젊프’(www.dgjump.com), 청년센터 홈페이지(www.dgyouth.kr) \n❍ 자격요건\n - 거주요건 : 신청일 현재 대구광역시에 주민등록이 되어 있는 청년\n - 연 령 : 19세 ~ 39세\n - 취업여부 : 미취업자(신청일 현재 고용보험 미가입자)\n * 단, 고용보험 가입되어 있더라도 고용보험 가입 3개월 이하 또는 주30시간 이하 단기근로자일 \n 경우 지원 가능\n❍ 보다 자세한 사항은 “청년센터 홈페이지”\n (http://www.dgyouth.kr/) ⇒ 공지사항을 참고하시기 바랍니다.",
"sprvsnInstCd": "6270000",
"sprvsnInstCdNm": "대구광역시",
"sprvsnInstPicNm": "오지은",
"operInstCd": " ",
"operInstCdNm": "",
"operInstPicNm": "대구광역시청년센터",
"sprtSclLmtYn": "N",
"aplyPrdSeCd": "0057001",
"bizPrdSeCd": "0056001",
"bizPrdBgngYmd": "20250320",
"bizPrdEndYmd": "20251231",
"bizPrdEtcCn": "",
"plcyAplyMthdCn": "온라인 신청(구글 설문지를 통한 신청) 및 방문 신청(청년센터 활동그래)\n* 청년커뮤니티포털 ‘젊프’(www.dgjump.com), 청년센터 홈페이지(www.dgyouth.kr)",
"srngMthdCn": "❍ 신청 다음달의 15일 경에 발표(상황에 따라 2~3일 차이가 있을 수 있음)\n - 문자메시지로 통보하므로 만약 오지 않았을 경우 스팸문자함 등을 확인",
"aplyUrlAddr": "http://www.dgyouth.kr/",
"sbmsnDcmntCn": "○ (필수) 주민등록초본\n○ (필수) 건강보험자격득실확인서\n○ (필수) 사업자등록사실증명\n○ (필수) 시험응시 증빙자료(응시 확인서)\n○ (필수) 응시료 결제영수증\n○ (필수) 본인명의 통장사본\n○ (선택) 근로계약서 1부 \n ☞ 고용보험 가입 3개월 이하 또는 주 30시간 이하 단기근로자 제출",
"etcMttrCn": "",
"refUrlAddr1": "",
"refUrlAddr2": "",
"sprtSclCnt": "0",
"sprtArvlSeqYn": "N",
"sprtTrgtMinAge": "19",
"sprtTrgtMaxAge": "39",
"sprtTrgtAgeLmtYn": "N",
"mrgSttsCd": "0055003",
"earnCndSeCd": "0043001",
"earnMinAmt": "0",
"earnMaxAmt": "0",
"earnEtcCn": "",
"addAplyQlfcCndCn": "❍ (연 령) 신청월 기준 19세∼39세 청년\n [“3월 응시료 지원”을 신청하는 경우(신청기간 3.20.~4.15.) : 1987. 4월생 ∼ 2006. 3월생 \n 신청 가능\n❍ (거 주) 신청일 현재 주민등록상 대구광역시 거주자\n❍ (취 업) 미취업자 대상(고용보험 미가입자)\n - 단, 고용보험 가입되어 있더라도 고용보험 가입 3개월 이하 또는 주30시간 이하 단기근로자일 \n 경우 신청 가능\n❍ 위 조건을 모두 만족해야 합니다",
"ptcpPrpTrgtCn": "",
"inqCnt": "75",
"rgtrInstCd": "6270000",
"rgtrInstCdNm": "대구광역시",
"rgtrUpInstCd": "0000000",
"rgtrUpInstCdNm": "대구광역시",
"rgtrHghrkInstCd": "6270000",
"rgtrHghrkInstCdNm": "대구광역시",
"zipCd": "27110,27140,27170,27200,27230,27260,27290,27710,27720",
"plcyMajorCd": "0011009",
"jobCd": "0013003",
"schoolCd": "0049010",
"aplyYmd": "20250320 ~ 20251120",
"frstRegDt": "2025-02-20 10:05:18",
"lastMdfcnDt": "2025-02-20 14:47:09",
"sbizCd": "0014010"
},
- https://www.youthcenter.go.kr/youthPolicy/ythPlcyTotalSearch/ythPlcyDetail/20250221005400110546?isNew=Y
{
"plcyNo": "20250221005400110546",
"bscPlanCycl": "1",
"bscPlanPlcyWayNo": "001",
"bscPlanFcsAsmtNo": "002",
"bscPlanAsmtNo": "004",
"pvsnInstGroupCd": "0054001",
"plcyPvsnMthdCd": "0042013",
"plcyNm": "창업도약패키지(투자병행형) 창업기업 모집",
"plcyExplnCn": "도약기 창업기업의 비즈니스 모델 혁신 및 제품·서비스 고도화 지원",
"plcySprtCn": "사업화자금과 투자유치 동시 지원",
"sprvsnInstCd": "1421000",
"sprvsnInstCdNm": "중소벤처기업부",
"sprvsnInstPicNm": "",
"operInstCd": " ",
"operInstCdNm": "",
"operInstPicNm": "",
"sprtSclLmtYn": "N",
"aplyPrdSeCd": "0057001",
"bizPrdSeCd": "0056002",
"bizPrdBgngYmd": " ",
"bizPrdEndYmd": " ",
"bizPrdEtcCn": "협약시작일로부터 10개월 내외",
"plcyAplyMthdCn": "K-Startup 누리집 온라인 신청",
"srngMthdCn": "",
"aplyUrlAddr": "",
"sbmsnDcmntCn": "",
"etcMttrCn": "",
"refUrlAddr1": "",
"refUrlAddr2": "",
"sprtSclCnt": "0",
"sprtArvlSeqYn": "N",
"sprtTrgtMinAge": "0",
"sprtTrgtMaxAge": "0",
"sprtTrgtAgeLmtYn": "Y",
"mrgSttsCd": "0055003",
"earnCndSeCd": "0043001",
"earnMinAmt": "0",
"earnMaxAmt": "0",
"earnEtcCn": "",
"addAplyQlfcCndCn": "",
"ptcpPrpTrgtCn": "",
"inqCnt": "72",
"rgtrInstCd": "1421000",
"rgtrInstCdNm": "중소벤처기업부",
"rgtrUpInstCd": "0000000",
"rgtrUpInstCdNm": "중소벤처기업부",
"rgtrHghrkInstCd": "1421000",
"rgtrHghrkInstCdNm": "중소벤처기업부",
"zipCd": "11110,11140,11170,11200,11215,11230,11260,11290,11305,11320,11350,11380,11410,11440,11470,11500,11530,11545,11560,11590,11620,11650,11680,11710,11740,26110,26140,26170,26200,26230,26260,26290,26320,26350,26380,26410,26440,26470,26500,26530,26710,27110,27140,27170,27200,27230,27260,27290,27710,27720,28110,28140,28177,28185,28200,28237,28245,28260,28710,28720,29110,29140,29155,29170,29200,30110,30140,30170,30200,30230,31110,31140,31170,31200,31710,36110,41111,41113,41115,41117,41131,41133,41135,41150,41171,41173,41192,41194,41196,41210,41220,41250,41271,41273,41281,41285,41287,41290,41310,41360,41370,41390,41410,41430,41450,41461,41463,41465,41480,41500,41550,41570,41590,41610,41630,41650,41670,41800,41820,41830,43111,43112,43113,43114,43130,43150,43720,43730,43740,43745,43750,43760,43770,43800,44131,44133,44150,44180,44200,44210,44230,44250,44270,44710,44760,44770,44790,44800,44810,44825,46110,46130,46150,46170,46230,46710,46720,46730,46770,46780,46790,46800,46810,46820,46830,46840,46860,46870,46880,46890,46900,46910,47111,47113,47130,47150,47170,47190,47210,47230,47250,47280,47290,47730,47750,47760,47770,47820,47830,47840,47850,47900,47920,47930,47940,48121,48123,48125,48127,48129,48170,48220,48240,48250,48270,48310,48330,48720,48730,48740,48820,48840,48850,48860,48870,48880,48890,50110,50130,51110,51130,51150,51170,51190,51210,51230,51720,51730,51750,51760,51770,51780,51790,51800,51810,51820,51830,52111,52113,52130,52140,52180,52190,52210,52710,52720,52730,52740,52750,52770,52790,52800",
"plcyMajorCd": "0011009",
"jobCd": "0013006",
"schoolCd": "0049010",
"aplyYmd": "20250220 ~ 20250313",
"frstRegDt": "2025-02-21 17:26:59",
"lastMdfcnDt": "2025-02-21 17:28:26",
"sbizCd": "0014010"
},
2. 기존에 없던 필드 (새로운 API에서 추가된 필드)
새로운 API에서 제공하지만 기존 Entity/DTO에는 없던 필드들
새로운 API 필드 | 설명 | 비고 | 추가 고려 |
bscPlanAsmtNo | 기볼계획과제번호 | ||
sprvsnInstCd | 주관기관코드 | ||
sprvsnInstPicNm | 주관기관담당자명 | ||
operInstPicNm | 운영기관담당자명 | ||
sprtSclLmtYn | 지원규모제한여부 | ||
aplyPrdSeCd | 신청기간구분코드 | ||
bizPrdSeCd | 사업기간구분코드 | ||
bizPrdBgngYmd | 사업기간시작일자 | 사업 운영 기간 | O |
bizPrdEndYmd | 사업기간종료일자 | 사업 운영 기간 | O |
bizPrdEtcCn | 사업기간기타내용 | ||
inqCnt | 조회수 | ||
plcyMajorCd | 정책전공요건코드 | ||
jobCd | 정책취업요건코드 | ||
bscPlanCycl | 기본계획차수 | ||
sprtSclCnt | 지원규모수 | 지원 규모(명) | O |
sprtArvlSeqYn | 지원도착순서여부 | ||
mrgSttsCd | 결혼상태코드 | ||
earnCndSeCd | 소득조건구분코드 | ||
frstRegDt | 최초등록일시 | ||
lastMdfcnDt | 최종수정일시 | ||
bscPlanFcsAsmtNo | 기본계획중점과제번호 | ||
pvsnInstGroupCd | 제공기관그룹코드 | ||
plcyPvsnMthdCd | 정책제공방법코드 | ||
plcyAprvSttsCd | 정책승인상태코드 | ||
aplyYmd | 신청기간 | 사업 신청 기간 | O |
rgtrInstCd | 등록자기관코드 | ||
rgtrInstCdNm | 등록자기관코드명 | ||
rgtrHghrkInstCd | 등록자최상위기관코드 | ||
rgtrHghrkInstCdNm | 등록자최상위기관코드명 |
개편된 온통청년 페이지에서 해당 데이터를 제공함. 이에 따라 청하에서도 위 데이터를 활용할지 고려 필요.
3. 추가 고려/작업할 사항
- 지역 코드(법정동 코드) 매칭은 마지막 단계에서 구현
- 현재는 정책 API 연동 및 다른 기능을 우선적으로 개발
- https://www.code.go.kr/stdcode/regCodeL.do
”행정표준코드관리시스템”에서 지역코드 자료 제공- 정책 API에서 제공하는
zipCd
(앞 5자리)로 조회
예) 43111 → 43111000000 검색 → 충청북도 청주시 상당구
- 정책 API에서 제공하는
- 지역 매칭 로직은 캐싱을 활용하는 방식으로 고려 중
- 법정동 코드 변환을 캐시로 빠르게 처리 가능
- 처음 한 번만 데이터 매핑하면 이후 API 요청마다 빠르게 변환 가능
- 필터링을 위해 제공하던 지역 정보를 지역 코드(법정동 코드)를 기반으로 변환
zipCd
(5자리)를 광역시·도 코드(9자리)로 변환하여 EPolicyRegion과 매핑fromCode(String code)
메서드 수정하여 zipCd를 입력받아 자동 변환HashMap
을 활용하여 법정동 코드에서 광역시·도 코드 매핑을 빠르게 조회
반응형
'Projects > 청하-청년을 위한 커뮤니티 서비스' 카테고리의 다른 글
[청하] Open API 호출 시 500 오류 발생 및 해결 과정 (0) | 2025.05.23 |
---|---|
[청하] 밸런스 게임/토론 기능 - (4) 댓글 조회 기능 개선 (feat. N+1 문제 방지를 위한 설계와 구현) (0) | 2025.04.30 |
[청하] TimeFormatter 클래스 리팩터링 (feat. @UtilityClass) (0) | 2025.04.04 |
[청하] 청년 정책 검색 기능 - (2) 구현 (0) | 2025.04.04 |
[청하] Swagger UI 개선 - API 문서 가독성 향상 (0) | 2025.04.03 |
댓글