250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자료구조
- 클린코드
- @RequiredArgsConstructor
- 연결 리스트
- mysql
- 클린
- 코드
- 클래스
- code
- 쿠키
- 스택 큐 차이
- 정렬
- 마크다운
- CleanCode
- 트리
- query
- 배열
- 빅 오 표기법
- 선형 리스트
- @ComponentScan
- 쿼리메소드
- 계산 검색 방식
- 마크다운 테이블
- WebClient
- @NoArgsConstructor
- 내부 정렬
- 인터페이스
- java
- 리스트
- JsonNode
Archives
- Today
- Total
Developer Cafe
DTO 설계하기 본문
728x90
예시) object객체들을 담고있는 car, 리스트를 담고 있는 insurance, object객체들을 담고있는 agency
[
{
"car": {
"modelCode": "xxxx",
"erpCode": "xxx",
"erpName": "xxxx",
"possibleCnt": 0000,
"seatCnt": 0000,
"classCode": "xxxxx",
"gearCode": "xxxx",
"makerCode": "xxxx",
"fuelCode": "xxxx",
"yearsCode": "",
"optionsCode": "xxxxxxxxxxxxxxx",
"defaultFee": 00000,
"saleFee": 00000,
"specialAgency": "none",
"imgUrlList": "https://xxxx.png",
"imgUrlDetail": "https://xxxx.png",
"unmanned": false,
"foreign": false
},
"insurance": [
{
"code": "xxxx",
"type": "xxxx",
"fee": 00000,
"saleFee": 00000,
"originFee": 00000,
"limitAge": 00,
"limitCareer": 0
}
],
"agency": {
"agencyCode": "xxxx",
"agencyName": "xxxxx",
"latitude": "xx.xx",
"longitude": "xx.xx",
"point": x.x,
"ranking": 00,
"mobileCheckIn": false,
"guarantee": false
}
},
{
"car": {
"modelCode": "xxxx",
"erpCode": "xxx",
"erpName": "xxxx",
"possibleCnt": 0000,
"seatCnt": 0000,
"classCode": "xxxxx",
"gearCode": "xxxx",
"makerCode": "xxxx",
"fuelCode": "xxxx",
"yearsCode": "",
"optionsCode": "xxxxxxxxxxxxxxx",
"defaultFee": 00000,
"saleFee": 00000,
"specialAgency": "none",
"imgUrlList": "https://xxxx.png",
"imgUrlDetail": "https://xxxx.png",
"unmanned": false,
"foreign": false
},
"insurance": [
{
"code": "xxxx",
"type": "xxxx",
"fee": 00000,
"saleFee": 00000,
"originFee": 00000,
"limitAge": 00,
"limitCareer": 0
}
],
"agency": {
"agencyCode": "xxxx",
"agencyName": "xxxxx",
"latitude": "xx.xx",
"longitude": "xx.xx",
"point": x.x,
"ranking": 00,
"mobileCheckIn": false,
"guarantee": false
}
},
{
"car": {
"modelCode": "xxxx",
"erpCode": "xxx",
"erpName": "xxxx",
"possibleCnt": 0000,
"seatCnt": 0000,
"classCode": "xxxxx",
"gearCode": "xxxx",
"makerCode": "xxxx",
"fuelCode": "xxxx",
"yearsCode": "",
"optionsCode": "xxxxxxxxxxxxxxx",
"defaultFee": 00000,
"saleFee": 00000,
"specialAgency": "none",
"imgUrlList": "https://xxxx.png",
"imgUrlDetail": "https://xxxx.png",
"unmanned": false,
"foreign": false
},
"insurance": [
{
"code": "xxxx",
"type": "xxxx",
"fee": 00000,
"saleFee": 00000,
"originFee": 00000,
"limitAge": 00,
"limitCareer": 0
}
],
"agency": {
"agencyCode": "xxxx",
"agencyName": "xxxxx",
"latitude": "xx.xx",
"longitude": "xx.xx",
"point": x.x,
"ranking": 00,
"mobileCheckIn": false,
"guarantee": false
}
},
{
"car": {
"modelCode": "xxxx",
"erpCode": "xxx",
"erpName": "xxxx",
"possibleCnt": 0000,
"seatCnt": 0000,
"classCode": "xxxxx",
"gearCode": "xxxx",
"makerCode": "xxxx",
"fuelCode": "xxxx",
"yearsCode": "",
"optionsCode": "xxxxxxxxxxxxxxx",
"defaultFee": 00000,
"saleFee": 00000,
"specialAgency": "none",
"imgUrlList": "https://xxxx.png",
"imgUrlDetail": "https://xxxx.png",
"unmanned": false,
"foreign": false
},
"insurance": [
{
"code": "xxxx",
"type": "xxxx",
"fee": 00000,
"saleFee": 00000,
"originFee": 00000,
"limitAge": 00,
"limitCareer": 0
}
],
"agency": {
"agencyCode": "xxxx",
"agencyName": "xxxxx",
"latitude": "xx.xx",
"longitude": "xx.xx",
"point": x.x,
"ranking": 00,
"mobileCheckIn": false,
"guarantee": false
}
},
{
"car": {
"modelCode": "xxxx",
"erpCode": "xxx",
"erpName": "xxxx",
"possibleCnt": 0000,
"seatCnt": 0000,
"classCode": "xxxxx",
"gearCode": "xxxx",
"makerCode": "xxxx",
"fuelCode": "xxxx",
"yearsCode": "",
"optionsCode": "xxxxxxxxxxxxxxx",
"defaultFee": 00000,
"saleFee": 00000,
"specialAgency": "none",
"imgUrlList": "https://xxxx.png",
"imgUrlDetail": "https://xxxx.png",
"unmanned": false,
"foreign": false
},
"insurance": [
{
"code": "xxxx",
"type": "xxxx",
"fee": 00000,
"saleFee": 00000,
"originFee": 00000,
"limitAge": 00,
"limitCareer": 0
}
],
"agency": {
"agencyCode": "xxxx",
"agencyName": "xxxxx",
"latitude": "xx.xx",
"longitude": "xx.xx",
"point": x.x,
"ranking": 00,
"mobileCheckIn": false,
"guarantee": false
}
}
]
답) CarResDto를 담을 car, List<InsuranceResDto>를 담을 insurance, AgencyResDto를 담을 agency
@Data
public class ShowCarsResDto {
private CarResDto car;
private List<InsuranceResDto> insurance;
private AgencyResDto agency;
}
@Data
public class CarResDto {
private String modelCode;
private String erpCode;
private String erpName;
private int possibleCnt;
private int seatCnt;
private String classCode;
private String gearCode;
private String makerCode;
private String fuelCode;
private String yearsCode;
private String optionsCode;
private int defaultFee;
private int saleFee;
private String specialAgency;
private String imgUrlList;
private String imgUrlDetail;
private boolean unmanned;
private boolean foreign;
}
@Data
public class InsuranceResDto {
private String code;
private String type;
private int fee;
private int saleFee;
private int originFee;
private int limitAge;
private int limitCareer;
}
@Data
public class AgencyResDto {
private String agencyCode;
private String agencyName;
private String latitude;
private String longitude;
private double point;
private int ranking;
private boolean mobileCheckIn;
private boolean guarantee;
}
728x90
'JAVA' 카테고리의 다른 글
사례를 통해 JAVA코드로 달력 구현하기 (0) | 2021.06.23 |
---|---|
Optional (0) | 2021.05.21 |
JIT 컴파일러 (Just-In-Time 컴파일러) (0) | 2021.03.06 |
세션(Session) vs 쿠키(Cookie) 차이 (0) | 2021.03.06 |
JAVA/Spring boot 네이버 메일 보내기 설정하기 (2) | 2021.02.25 |
Comments