From 3b9807cb68335ee906e46528fd7f8c11e348fb7d Mon Sep 17 00:00:00 2001 From: Kurt92 Date: Thu, 4 Dec 2025 10:55:58 +0900 Subject: [PATCH] =?UTF-8?q?init=20:=20=EA=B0=9C=EB=B0=9C=EC=8B=9C=20?= =?UTF-8?q?=EC=97=B0=EA=B3=84=ED=85=8C=EC=8A=A4=ED=8A=B8=EB=A5=BC=20?= =?UTF-8?q?=EC=9C=84=ED=95=9C=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20api=201.=20?= =?UTF-8?q?=ED=91=9C=EC=A7=80=20=EC=9D=B8=EC=84=9C=ED=8A=B8,=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=202.=20soup=20xml=20=ED=98=95=ED=83=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../carInfo/controller/CarInfoController.java | 4 +- .../controller/CoverInfoController.java | 41 ++++ .../test/biz/coverInfo/dto/CoverInfoDto.java | 19 ++ ....java => CoverInfoQueryDslRepository.java} | 2 +- .../biz/coverInfo/service/CoverInfoMock.java | 71 +++++++ .../coverInfo/service/CoverInfoService.java | 40 ++++ .../java/org/api/test/domain/CarInfo.java | 180 +++++++++--------- .../java/org/api/test/domain/CoverInfo.java | 24 ++- .../api/test/domain/CoverInfoRepository.java | 6 + 9 files changed, 293 insertions(+), 94 deletions(-) create mode 100644 src/main/java/org/api/test/biz/coverInfo/dto/CoverInfoDto.java rename src/main/java/org/api/test/biz/coverInfo/repository/{CoverInfoRepository.java => CoverInfoQueryDslRepository.java} (72%) create mode 100644 src/main/java/org/api/test/biz/coverInfo/service/CoverInfoMock.java create mode 100644 src/main/java/org/api/test/domain/CoverInfoRepository.java diff --git a/src/main/java/org/api/test/biz/carInfo/controller/CarInfoController.java b/src/main/java/org/api/test/biz/carInfo/controller/CarInfoController.java index 23d716c..41cdaf1 100644 --- a/src/main/java/org/api/test/biz/carInfo/controller/CarInfoController.java +++ b/src/main/java/org/api/test/biz/carInfo/controller/CarInfoController.java @@ -37,10 +37,8 @@ public class CarInfoController { List resultRecords = carInfoService.findCarInfo(req); - // data 배열 안의 각 Body 순회 - // 조회 결과에 따라 코드 세팅 (간단 버전) - String code = resultRecords.isEmpty() ? "0001" : "0000"; + String code = resultRecords.isEmpty() ? "Error" : "Success"; String msg = resultRecords.isEmpty() ? "조회된 차량 정보가 없습니다." : "정상"; CarInfoDto.Response response = CarInfoDto.Response.builder() diff --git a/src/main/java/org/api/test/biz/coverInfo/controller/CoverInfoController.java b/src/main/java/org/api/test/biz/coverInfo/controller/CoverInfoController.java index 8b5b34e..bbc043e 100644 --- a/src/main/java/org/api/test/biz/coverInfo/controller/CoverInfoController.java +++ b/src/main/java/org/api/test/biz/coverInfo/controller/CoverInfoController.java @@ -1,7 +1,48 @@ package org.api.test.biz.coverInfo.controller; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.api.test.biz.coverInfo.service.CoverInfoMock; +import org.api.test.biz.coverInfo.service.CoverInfoService; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + @RestController +@RequiredArgsConstructor +@Slf4j public class CoverInfoController { + + private final CoverInfoService coverInfoService; + + + @PostMapping( + value = "/api/test/coverInfo", + consumes = {MediaType.APPLICATION_XML_VALUE, MediaType.TEXT_XML_VALUE}, + produces = {MediaType.APPLICATION_XML_VALUE, MediaType.TEXT_XML_VALUE} + ) + public ResponseEntity getCoverInfo(@RequestBody String xmlBody) { + + + return ResponseEntity.ok(coverInfoService.getCoverInfo(xmlBody)); + } + + + + @PostMapping("/api/test/coverInfo/insert") + public ResponseEntity carInfoRandomInsert(@RequestBody List CARS_NO) { + + coverInfoService.coverInfoInsert(CARS_NO); + + return ResponseEntity.ok("success"); + }; + + + + + } diff --git a/src/main/java/org/api/test/biz/coverInfo/dto/CoverInfoDto.java b/src/main/java/org/api/test/biz/coverInfo/dto/CoverInfoDto.java new file mode 100644 index 0000000..58dfc5b --- /dev/null +++ b/src/main/java/org/api/test/biz/coverInfo/dto/CoverInfoDto.java @@ -0,0 +1,19 @@ +package org.api.test.biz.coverInfo.dto; + +public class CoverInfoDto { + + public static class Request { + + private String CARS_NO; //차량번호 + private String ReqBizCd; //요청업무코드 + private String ReqOrgCd; //요청기관코드 + + } + + + + public static class Response { + + } + +} diff --git a/src/main/java/org/api/test/biz/coverInfo/repository/CoverInfoRepository.java b/src/main/java/org/api/test/biz/coverInfo/repository/CoverInfoQueryDslRepository.java similarity index 72% rename from src/main/java/org/api/test/biz/coverInfo/repository/CoverInfoRepository.java rename to src/main/java/org/api/test/biz/coverInfo/repository/CoverInfoQueryDslRepository.java index f0d714f..f205ff5 100644 --- a/src/main/java/org/api/test/biz/coverInfo/repository/CoverInfoRepository.java +++ b/src/main/java/org/api/test/biz/coverInfo/repository/CoverInfoQueryDslRepository.java @@ -3,5 +3,5 @@ package org.api.test.biz.coverInfo.repository; import org.springframework.stereotype.Repository; @Repository -public class CoverInfoRepository { +public class CoverInfoQueryDslRepository { } diff --git a/src/main/java/org/api/test/biz/coverInfo/service/CoverInfoMock.java b/src/main/java/org/api/test/biz/coverInfo/service/CoverInfoMock.java new file mode 100644 index 0000000..6443e96 --- /dev/null +++ b/src/main/java/org/api/test/biz/coverInfo/service/CoverInfoMock.java @@ -0,0 +1,71 @@ +package org.api.test.biz.coverInfo.service; + +import org.api.test.domain.CarInfo; +import org.api.test.domain.CoverInfo; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class CoverInfoMock { + + public CoverInfo createCoverInfo(String carsNo) { + return CoverInfo.builder() + .CARS_NO(carsNo) + .PARKING_PSBL_YN("Y") + .BOHUN_PARKING_PSBL_YN("Y") + .build(); + } + + + public String extractTag(String xml, String tagName) { + String open = "<" + tagName + ">"; + String close = ""; + int start = xml.indexOf(open); + int end = xml.indexOf(close); + if (start == -1 || end == -1) return null; + return xml.substring(start + open.length(), end).trim(); + } + + public String buildSoapResponse(CoverInfo cover) { + String txId = generateTransactionId(); + + return """ + + + + + DisabledParkingYnService + ESBTEST + SVR1311000030 + %s + 1234567 + 김공무 + + + + + %s + %s + %s + + + + """.formatted( + txId, + nullSafe(cover.getCARS_NO()), + nullSafe(cover.getPARKING_PSBL_YN()), + nullSafe(cover.getBOHUN_PARKING_PSBL_YN()) + ); + } + + // 간단 트랜잭션 ID 생성기 (모킹용) + private String generateTransactionId() { + return new java.text.SimpleDateFormat("yyyyMMddHHmmssSSS", java.util.Locale.KOREA) + .format(new java.util.Date()); + } + + private String nullSafe(String s) { + return s == null ? "" : s; + } +} diff --git a/src/main/java/org/api/test/biz/coverInfo/service/CoverInfoService.java b/src/main/java/org/api/test/biz/coverInfo/service/CoverInfoService.java index 20a62ce..999fe95 100644 --- a/src/main/java/org/api/test/biz/coverInfo/service/CoverInfoService.java +++ b/src/main/java/org/api/test/biz/coverInfo/service/CoverInfoService.java @@ -1,7 +1,47 @@ package org.api.test.biz.coverInfo.service; +import jakarta.transaction.Transactional; +import lombok.RequiredArgsConstructor; +import org.api.test.domain.CoverInfo; +import org.api.test.domain.CoverInfoRepository; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Optional; + @Service +@RequiredArgsConstructor public class CoverInfoService { + + private final CoverInfoMock coverInfoMock; + private final CoverInfoRepository coverInfoRepository; + + public String getCoverInfo(String xmlBody) { + + // 차량번호 추출 + String carsNo = coverInfoMock.extractTag(xmlBody, "CARS_NO"); + + // 차량번호 조회 + CoverInfo cover = coverInfoRepository.findById(carsNo) + .orElseThrow(() -> new IllegalStateException("")); + + String responseXml = coverInfoMock.buildSoapResponse(cover); + + return responseXml; + } + + + @Transactional + public void coverInfoInsert(List carsNo) { + carsNo.forEach(item -> { + CoverInfo entity = coverInfoMock.createCoverInfo(item); + coverInfoRepository.save(entity); + }); + } + + + + + + } diff --git a/src/main/java/org/api/test/domain/CarInfo.java b/src/main/java/org/api/test/domain/CarInfo.java index 539d299..5729d89 100644 --- a/src/main/java/org/api/test/domain/CarInfo.java +++ b/src/main/java/org/api/test/domain/CarInfo.java @@ -1,5 +1,7 @@ package org.api.test.domain; +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.JsonProperty; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; @@ -11,353 +13,359 @@ import lombok.NoArgsConstructor; import org.hibernate.annotations.Comment; @Entity -@Table(name = "CAR_INFO") // 실제 테이블명에 맞게 조정 +@Table(name = "CAR_INFO") @Getter @NoArgsConstructor @AllArgsConstructor @Builder +@JsonAutoDetect( + fieldVisibility = JsonAutoDetect.Visibility.ANY, + getterVisibility = JsonAutoDetect.Visibility.NONE, + isGetterVisibility = JsonAutoDetect.Visibility.NONE +) public class CarInfo { // ===== 기본 키 ===== @Id + @JsonProperty("VHRNO") @Column(name = "VHRNO") @Comment("차량번호") private String VHRNO; // ===== 상단 (연식 / 등록정보 / 사용본거지) ===== + @JsonProperty("PRYE") @Column(name = "PRYE") - @Comment("연식") private String PRYE; + @JsonProperty("REGIST_DE") @Column(name = "REGIST_DE") - @Comment("등록일(변경일)") private String REGIST_DE; + @JsonProperty("ERSR_REGIST_SE_CODE") @Column(name = "ERSR_REGIST_SE_CODE") - @Comment("말소등록구분코드") private String ERSR_REGIST_SE_CODE; + @JsonProperty("ERSR_REGIST_SE_NM") @Column(name = "ERSR_REGIST_SE_NM") - @Comment("말소등록구분명") private String ERSR_REGIST_SE_NM; + @JsonProperty("ERSR_REGIST_DE") @Column(name = "ERSR_REGIST_DE") - @Comment("말소등록일") private String ERSR_REGIST_DE; + @JsonProperty("REGIST_DETAIL_CODE") @Column(name = "REGIST_DETAIL_CODE") - @Comment("등록상세코드") private String REGIST_DETAIL_CODE; + @JsonProperty("DSPLVL") @Column(name = "DSPLVL") - @Comment("배기량") private String DSPLVL; + @JsonProperty("USE_STRNGHLD_LEGALDONG_CODE") @Column(name = "USE_STRNGHLD_LEGALDONG_CODE") - @Comment("사용본거지법정동코드") private String USE_STRNGHLD_LEGALDONG_CODE; + @JsonProperty("USE_STRNGHLD_ADSTRD_CODE") @Column(name = "USE_STRNGHLD_ADSTRD_CODE") - @Comment("사용본거지행정동코드") private String USE_STRNGHLD_ADSTRD_CODE; + @JsonProperty("USE_STRNGHLD_MNTN") @Column(name = "USE_STRNGHLD_MNTN") - @Comment("사용본거지산") private String USE_STRNGHLD_MNTN; + @JsonProperty("USE_STRNGHLD_LNBR") @Column(name = "USE_STRNGHLD_LNBR") - @Comment("사용본거지번지") private String USE_STRNGHLD_LNBR; + @JsonProperty("USE_STRNGHLD_HO") @Column(name = "USE_STRNGHLD_HO") - @Comment("사용본거지호") private String USE_STRNGHLD_HO; + @JsonProperty("USE_STRNGHLD_ADRES_NM") @Column(name = "USE_STRNGHLD_ADRES_NM") - @Comment("사용본거지상세주소") private String USE_STRNGHLD_ADRES_NM; + @JsonProperty("USE_STRNGHLD_ROAD_NM_CODE") @Column(name = "USE_STRNGHLD_ROAD_NM_CODE") - @Comment("사용본거지도로명코드") private String USE_STRNGHLD_ROAD_NM_CODE; + @JsonProperty("USGSRHLD_UNDGRND_BULD_SE_CODE") @Column(name = "USGSRHLD_UNDGRND_BULD_SE_CODE") - @Comment("사용본거지지하건물구분코드") private String USGSRHLD_UNDGRND_BULD_SE_CODE; + @JsonProperty("USE_STRNGHLD_BULD_MAIN_NO") @Column(name = "USE_STRNGHLD_BULD_MAIN_NO") - @Comment("사용본거지건물주요번호") private String USE_STRNGHLD_BULD_MAIN_NO; + @JsonProperty("USE_STRNGHLD_BULD_SUB_NO") @Column(name = "USE_STRNGHLD_BULD_SUB_NO") - @Comment("사용본거지건물부번호") private String USE_STRNGHLD_BULD_SUB_NO; + @JsonProperty("USGSRHLD_ADRES_FULL") @Column(name = "USGSRHLD_ADRES_FULL") - @Comment("사용본거지전체주소") private String USGSRHLD_ADRES_FULL; // ===== 대표소유자/소유자 정보 ===== + @JsonProperty("MBER_SE_CODE") @Column(name = "MBER_SE_CODE") - @Comment("대표소유자회원구분코드") private String MBER_SE_CODE; + @JsonProperty("MBER_NM") @Column(name = "MBER_NM") - @Comment("대표소유자성명") private String MBER_NM; + @JsonProperty("MBER_SE_NO") @Column(name = "MBER_SE_NO") - @Comment("대표소유자회원번호") private String MBER_SE_NO; + @JsonProperty("TELNO") @Column(name = "TELNO") - @Comment("대표소유자전화번호") private String TELNO; + @JsonProperty("OWNER_LEGALDONG_CODE") @Column(name = "OWNER_LEGALDONG_CODE") - @Comment("소유자법정동코드") private String OWNER_LEGALDONG_CODE; + @JsonProperty("OWNER_ADSTRD_CODE") @Column(name = "OWNER_ADSTRD_CODE") - @Comment("소유자행정동코드") private String OWNER_ADSTRD_CODE; + @JsonProperty("OWNER_MNTN") @Column(name = "OWNER_MNTN") - @Comment("소유자산") private String OWNER_MNTN; + @JsonProperty("OWNER_LNBR") @Column(name = "OWNER_LNBR") - @Comment("소유자번지") private String OWNER_LNBR; + @JsonProperty("OWNER_HO") @Column(name = "OWNER_HO") - @Comment("소유자호") private String OWNER_HO; + @JsonProperty("OWNER_ADRES_NM") @Column(name = "OWNER_ADRES_NM") - @Comment("소유자상세주소") private String OWNER_ADRES_NM; + @JsonProperty("OWNER_ROAD_NM_CODE") @Column(name = "OWNER_ROAD_NM_CODE") - @Comment("소유자도로명코드") private String OWNER_ROAD_NM_CODE; + @JsonProperty("OWNER_UNDGRND_BULD_SE_CODE") @Column(name = "OWNER_UNDGRND_BULD_SE_CODE") - @Comment("소유자지하건물구분코드") private String OWNER_UNDGRND_BULD_SE_CODE; + @JsonProperty("OWNER_BULD_MAIN_NO") @Column(name = "OWNER_BULD_MAIN_NO") - @Comment("소유자건물주요번호") private String OWNER_BULD_MAIN_NO; + @JsonProperty("OWNER_BULD_SUB_NO") @Column(name = "OWNER_BULD_SUB_NO") - @Comment("소유자건물부번호") private String OWNER_BULD_SUB_NO; + @JsonProperty("OWNER_ADRES_FULL") @Column(name = "OWNER_ADRES_FULL") - @Comment("소유자전체주소") private String OWNER_ADRES_FULL; // ===== 차량번호/차량 기본 ===== + @JsonProperty("AFTR_VHRNO") @Column(name = "AFTR_VHRNO") - @Comment("신차량번호") private String AFTR_VHRNO; + @JsonProperty("FRNT_VHRNO") @Column(name = "FRNT_VHRNO") - @Comment("이전차량번호") private String FRNT_VHRNO; + @JsonProperty("VIN") @Column(name = "VIN") - @Comment("차대번호") private String VIN; + @JsonProperty("CNM") @Column(name = "CNM") - @Comment("차명") private String CNM; + @JsonProperty("VHCTLE_TOT_WT") @Column(name = "VHCTLE_TOT_WT") - @Comment("차량총중량") private String VHCTLE_TOT_WT; + @JsonProperty("CAAG_ENDDE") @Column(name = "CAAG_ENDDE") - @Comment("차량만료일자") private String CAAG_ENDDE; + @JsonProperty("CHANGE_DE") @Column(name = "CHANGE_DE") - @Comment("차변변경시기") private String CHANGE_DE; + @JsonProperty("USE_FUEL_CODE") @Column(name = "USE_FUEL_CODE") - @Comment("사용연료코드") private String USE_FUEL_CODE; + @JsonProperty("PRPOS_SE_CODE") @Column(name = "PRPOS_SE_CODE") - @Comment("용도구분코드") private String PRPOS_SE_CODE; + @JsonProperty("MTRS_FOM_NM") @Column(name = "MTRS_FOM_NM") - @Comment("원동기형식명") private String MTRS_FOM_NM; - // ===== 차종/제원 관련 ===== + // ===== 차종/제원 ===== + @JsonProperty("VHCTY_ASORT_CODE") @Column(name = "VHCTY_ASORT_CODE") - @Comment("차종종별코드") private String VHCTY_ASORT_CODE; + @JsonProperty("VHCTY_TY_CODE") @Column(name = "VHCTY_TY_CODE") - @Comment("차종유형코드") private String VHCTY_TY_CODE; + @JsonProperty("VHCTY_SE_CODE") @Column(name = "VHCTY_SE_CODE") - @Comment("차종분류코드") private String VHCTY_SE_CODE; + @JsonProperty("MXMM_LDG") @Column(name = "MXMM_LDG") - @Comment("최대적재량") private String MXMM_LDG; + @JsonProperty("VHCTY_ASORT_NM") @Column(name = "VHCTY_ASORT_NM") - @Comment("차종종별명") private String VHCTY_ASORT_NM; + @JsonProperty("VHCTY_TY_NM") @Column(name = "VHCTY_TY_NM") - @Comment("차종유형명") private String VHCTY_TY_NM; + @JsonProperty("VHCTY_SE_NM") @Column(name = "VHCTY_SE_NM") - @Comment("차종분류명") private String VHCTY_SE_NM; + @JsonProperty("FRST_REGIST_DE") @Column(name = "FRST_REGIST_DE") - @Comment("최초등록일") private String FRST_REGIST_DE; + @JsonProperty("FOM_NM") @Column(name = "FOM_NM") - @Comment("형식") private String FOM_NM; + @JsonProperty("ACQS_DE") @Column(name = "ACQS_DE") - @Comment("취득일자") private String ACQS_DE; + @JsonProperty("ACQS_END_DE") @Column(name = "ACQS_END_DE") - @Comment("취득종료일자") private String ACQS_END_DE; + @JsonProperty("YBL_MD") @Column(name = "YBL_MD") - @Comment("제작년월일") private String YBL_MD; + @JsonProperty("TRANSR_REGIST_DE") @Column(name = "TRANSR_REGIST_DE") - @Comment("이전등록일(양수일)") private String TRANSR_REGIST_DE; - // ===== 상태/금액/검사 등 ===== + // ===== 상태/검사/금액 ===== + @JsonProperty("SPCF_REGIST_STTUS_CODE") @Column(name = "SPCF_REGIST_STTUS_CODE") - @Comment("제원등록상태코드") private String SPCF_REGIST_STTUS_CODE; + @JsonProperty("COLOR_NM") @Column(name = "COLOR_NM") - @Comment("색상명") private String COLOR_NM; + @JsonProperty("MRTG_CO") @Column(name = "MRTG_CO") - @Comment("저당수") private String MRTG_CO; + @JsonProperty("SEIZR_CO") @Column(name = "SEIZR_CO") - @Comment("압류건수") private String SEIZR_CO; + @JsonProperty("STMD_CO") @Column(name = "STMD_CO") - @Comment("구조변경수") private String STMD_CO; + @JsonProperty("NMPL_CSDY_AT") @Column(name = "NMPL_CSDY_AT") - @Comment("번호판영치여부") private String NMPL_CSDY_AT; + @JsonProperty("NMPL_CSDY_REMNR_DE") @Column(name = "NMPL_CSDY_REMNR_DE") - @Comment("번호판영치최고일") private String NMPL_CSDY_REMNR_DE; + @JsonProperty("ORIGIN_SE_CODE") @Column(name = "ORIGIN_SE_CODE") - @Comment("출처구분코드") private String ORIGIN_SE_CODE; + @JsonProperty("NMPL_STNDRD_CODE") @Column(name = "NMPL_STNDRD_CODE") - @Comment("번호판규격코드") private String NMPL_STNDRD_CODE; + @JsonProperty("ACQS_AMOUNT") @Column(name = "ACQS_AMOUNT") - @Comment("취득금액(최종/최초)") private String ACQS_AMOUNT; + @JsonProperty("INSPT_VALID_PD_BGNDE") @Column(name = "INSPT_VALID_PD_BGNDE") - @Comment("검사유효기간시작일") private String INSPT_VALID_PD_BGNDE; + @JsonProperty("INSPT_VALID_PD_ENDDE") @Column(name = "INSPT_VALID_PD_ENDDE") - @Comment("검사유효기간종료일") private String INSPT_VALID_PD_ENDDE; + @JsonProperty("USE_STRNGHLD_GRC_CODE") @Column(name = "USE_STRNGHLD_GRC_CODE") - @Comment("사용본거지관청코드") private String USE_STRNGHLD_GRC_CODE; + @JsonProperty("TKCAR_PSCAP_CO") @Column(name = "TKCAR_PSCAP_CO") - @Comment("승차정원수") private String TKCAR_PSCAP_CO; + @JsonProperty("SPMNNO") @Column(name = "SPMNNO") - @Comment("제원관리번호") private String SPMNNO; + @JsonProperty("TRVL_DSTNC") @Column(name = "TRVL_DSTNC") - @Comment("주행거리") private String TRVL_DSTNC; + @JsonProperty("FRST_REGIST_RQRCNO") @Column(name = "FRST_REGIST_RQRCNO") - @Comment("최초등록접수번호") private String FRST_REGIST_RQRCNO; + @JsonProperty("VLNT_ERSR_PRVNTC_NTICE_DE") @Column(name = "VLNT_ERSR_PRVNTC_NTICE_DE") - @Comment("예고통지일") private String VLNT_ERSR_PRVNTC_NTICE_DE; + @JsonProperty("REGIST_INSTT_NM") @Column(name = "REGIST_INSTT_NM") - @Comment("등록기관명") private String REGIST_INSTT_NM; + @JsonProperty("PROCESS_IMPRTY_RESN_CODE") @Column(name = "PROCESS_IMPRTY_RESN_CODE") - @Comment("처리불가사유코드") private String PROCESS_IMPRTY_RESN_CODE; + @JsonProperty("PROCESS_IMPRTY_RESN_DTLS") @Column(name = "PROCESS_IMPRTY_RESN_DTLS") - @Comment("처리불가사유명세") private String PROCESS_IMPRTY_RESN_DTLS; + @JsonProperty("CBD_LT") @Column(name = "CBD_LT") - @Comment("차체길이") private String CBD_LT; + @JsonProperty("CBD_BT") @Column(name = "CBD_BT") - @Comment("차체너비") private String CBD_BT; + @JsonProperty("CBD_HG") @Column(name = "CBD_HG") - @Comment("차체높이") private String CBD_HG; + @JsonProperty("FRST_MXMM_LDG") @Column(name = "FRST_MXMM_LDG") - @Comment("최초최대적재량") private String FRST_MXMM_LDG; + @JsonProperty("FUEL_CNSMP_RT") @Column(name = "FUEL_CNSMP_RT") - @Comment("연료소비율") private String FUEL_CNSMP_RT; + @JsonProperty("ELCTY_CMPND_FUEL_CNSMP_RT") @Column(name = "ELCTY_CMPND_FUEL_CNSMP_RT") - @Comment("전기복합연료소비율") private String ELCTY_CMPND_FUEL_CNSMP_RT; } diff --git a/src/main/java/org/api/test/domain/CoverInfo.java b/src/main/java/org/api/test/domain/CoverInfo.java index 8def8b9..acba189 100644 --- a/src/main/java/org/api/test/domain/CoverInfo.java +++ b/src/main/java/org/api/test/domain/CoverInfo.java @@ -1,5 +1,7 @@ package org.api.test.domain; +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.JsonProperty; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; @@ -8,6 +10,7 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; +import org.hibernate.annotations.Comment; @Entity @Table(name="COVER_INFO") @@ -15,17 +18,30 @@ import lombok.NoArgsConstructor; @NoArgsConstructor @AllArgsConstructor @Builder +@JsonAutoDetect( + fieldVisibility = JsonAutoDetect.Visibility.ANY, + getterVisibility = JsonAutoDetect.Visibility.NONE, + isGetterVisibility = JsonAutoDetect.Visibility.NONE +) public class CoverInfo { @Id - @Column(name = "COVER_INFO_ID") - private int coverInfoId; - - + @JsonProperty("CARS_NO") + @Column(name = "CARS_NO") + @Comment("차량번호") + private String CARS_NO; + @JsonProperty("PARKING_PSBL_YN") + @Column(name = "PARKING_PSBL_YN") + @Comment("주차가능여부(장애인)") + private String PARKING_PSBL_YN; + @JsonProperty("BOHUN_PARKING_PSBL_YN") + @Column(name = "BOHUN_PARKING_PSBL_YN") + @Comment("주차가능여부(보훈처)") + private String BOHUN_PARKING_PSBL_YN; } diff --git a/src/main/java/org/api/test/domain/CoverInfoRepository.java b/src/main/java/org/api/test/domain/CoverInfoRepository.java new file mode 100644 index 0000000..491eefa --- /dev/null +++ b/src/main/java/org/api/test/domain/CoverInfoRepository.java @@ -0,0 +1,6 @@ +package org.api.test.domain; + +import org.springframework.data.jpa.repository.JpaRepository; + +public interface CoverInfoRepository extends JpaRepository { +}