Remark : Plugin 을 사용하여 DTO 로 변경 해보자.
데이타가 많으면 잘 변경 되지 않는다.
1.Ctrl + Alt + S
DTO generator 를 설치 한다.
2.설치 된 화면
3.Alt + Insert -> DTO from JSON
4.창에 Json을 붙여넣고 Setting 탭 누름
5. Setting 창에서 // Jackson … 선택
- DTO : Data Transfer Object
- Single File With Inner Class : 단일 파일로 클래스 생성
- Separete File For Each Object : 클래스별로 파일을 나눠서 생성
- Gson : 옛방식에서 사용되는 Model
- Plain Class :
- Jackson : Spring 에서 사용되는 Model
- AtuoValue
- Custom
- Encapsulation Option
- Make Fields Private
- Provide Setter
- Privide Getter
- Prefix Field With
- Use CamelCase : 카멜케이스로 생성 // “단봉낙타” 표기법// 예시: backgroundColor, typeName, iPhone
- End Calss names with
- Entity
- Bean
6. 자동으로 생성된거 확인
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 |
package com.example.demo; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; public abstract class jaon { @JsonProperty("glossary") private Glossary glossary; public Glossary getGlossary() { return glossary; } public void setGlossary(Glossary glossary) { this.glossary = glossary; } public static class Glossary { @JsonProperty("GlossDiv") private Glossdiv glossdiv; @JsonProperty("title") private String title; public Glossdiv getGlossdiv() { return glossdiv; } public void setGlossdiv(Glossdiv glossdiv) { this.glossdiv = glossdiv; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } } public static class Glossdiv { @JsonProperty("GlossList") private Glosslist glosslist; @JsonProperty("title") private String title; public Glosslist getGlosslist() { return glosslist; } public void setGlosslist(Glosslist glosslist) { this.glosslist = glosslist; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } } public static class Glosslist { @JsonProperty("GlossEntry") private Glossentry glossentry; public Glossentry getGlossentry() { return glossentry; } public void setGlossentry(Glossentry glossentry) { this.glossentry = glossentry; } } public static class Glossentry { @JsonProperty("GlossSee") private String glosssee; @JsonProperty("GlossDef") private Glossdef glossdef; @JsonProperty("Abbrev") private String abbrev; @JsonProperty("Acronym") private String acronym; @JsonProperty("GlossTerm") private String glossterm; @JsonProperty("SortAs") private String sortas; @JsonProperty("ID") private String id; public String getGlosssee() { return glosssee; } public void setGlosssee(String glosssee) { this.glosssee = glosssee; } public Glossdef getGlossdef() { return glossdef; } public void setGlossdef(Glossdef glossdef) { this.glossdef = glossdef; } public String getAbbrev() { return abbrev; } public void setAbbrev(String abbrev) { this.abbrev = abbrev; } public String getAcronym() { return acronym; } public void setAcronym(String acronym) { this.acronym = acronym; } public String getGlossterm() { return glossterm; } public void setGlossterm(String glossterm) { this.glossterm = glossterm; } public String getSortas() { return sortas; } public void setSortas(String sortas) { this.sortas = sortas; } public String getId() { return id; } public void setId(String id) { this.id = id; } } public static class Glossdef { @JsonProperty("GlossSeeAlso") private List<String> glossseealso; @JsonProperty("para") private String para; public List<String> getGlossseealso() { return glossseealso; } public void setGlossseealso(List<String> glossseealso) { this.glossseealso = glossseealso; } public String getPara() { return para; } public void setPara(String para) { this.para = para; } } } |
비고 : 데이타가 커지면 문제가 발생
사이트를 이용하는게 좋을 것 같습니다.