{"id":840,"date":"2022-11-03T09:34:22","date_gmt":"2022-11-03T00:34:22","guid":{"rendered":"https:\/\/java.ihavenomoney.co.kr\/?page_id=840"},"modified":"2022-12-20T09:39:36","modified_gmt":"2022-12-20T00:39:36","slug":"json-to-dto","status":"publish","type":"page","link":"https:\/\/java.ihavenomoney.co.kr\/?page_id=840","title":{"rendered":"Json to DTO (Data Transfer Object)"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Remark : Plugin \uc744 \uc0ac\uc6a9\ud558\uc5ec  DTO \ub85c \ubcc0\uacbd \ud574\ubcf4\uc790. <\/h3>\n\n\n\n<h3 class=\"wp-block-heading\">\ub370\uc774\ud0c0\uac00 \ub9ce\uc73c\uba74 \uc798 \ubcc0\uacbd \ub418\uc9c0 \uc54a\ub294\ub2e4. <\/h3>\n\n\n\n<h3 class=\"wp-block-heading\">1.Ctrl + Alt + S <\/h3>\n\n\n\n<p>DTO generator \ub97c \uc124\uce58 \ud55c\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"986\" height=\"713\" src=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-1.png\" alt=\"\" class=\"wp-image-842\" srcset=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-1.png 986w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-1-300x217.png 300w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-1-768x555.png 768w\" sizes=\"auto, (max-width: 986px) 100vw, 986px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">2.\uc124\uce58 \ub41c \ud654\uba74 <\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1009\" height=\"713\" src=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image.png\" alt=\"\" class=\"wp-image-841\" srcset=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image.png 1009w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-300x212.png 300w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-768x543.png 768w\" sizes=\"auto, (max-width: 1009px) 100vw, 1009px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">3.Alt + Insert -&gt; DTO from JSON<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"137\" height=\"81\" src=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-2.png\" alt=\"\" class=\"wp-image-843\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">4.\ucc3d\uc5d0  Json\uc744 \ubd99\uc5ec\ub123\uace0  Setting \ud0ed \ub204\ub984<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"783\" height=\"696\" src=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-3.png\" alt=\"\" class=\"wp-image-844\" srcset=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-3.png 783w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-3-300x267.png 300w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-3-768x683.png 768w\" sizes=\"auto, (max-width: 783px) 100vw, 783px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">5.  Setting \ucc3d\uc5d0\uc11c  \/\/ Jackson &#8230;  \uc120\ud0dd<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DTO : Data Transfer Object<\/li>\n\n\n\n<li>Single File With Inner Class :  \ub2e8\uc77c \ud30c\uc77c\ub85c \ud074\ub798\uc2a4 \uc0dd\uc131<\/li>\n\n\n\n<li>Separete File For Each Object : \ud074\ub798\uc2a4\ubcc4\ub85c \ud30c\uc77c\uc744 \ub098\ub220\uc11c \uc0dd\uc131 <\/li>\n\n\n\n<li>Gson  : \uc61b\ubc29\uc2dd\uc5d0\uc11c \uc0ac\uc6a9\ub418\ub294 Model <\/li>\n\n\n\n<li>Plain Class :<\/li>\n\n\n\n<li>Jackson  : Spring \uc5d0\uc11c \uc0ac\uc6a9\ub418\ub294 Model <\/li>\n\n\n\n<li>AtuoValue<\/li>\n\n\n\n<li>Custom<\/li>\n\n\n\n<li>Encapsulation Option<\/li>\n\n\n\n<li>Make Fields Private<\/li>\n\n\n\n<li>Provide Setter<\/li>\n\n\n\n<li>Privide Getter<\/li>\n\n\n\n<li>Prefix Field With<\/li>\n\n\n\n<li>Use CamelCase : \uce74\uba5c\ucf00\uc774\uc2a4\ub85c \uc0dd\uc131 \/\/  &#8220;\ub2e8\ubd09\ub099\ud0c0&#8221; \ud45c\uae30\ubc95\/\/ \uc608\uc2dc: backgroundColor, typeName, iPhone<\/li>\n\n\n\n<li>End Calss names with<\/li>\n\n\n\n<li>Entity<\/li>\n\n\n\n<li>Bean<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"786\" height=\"690\" src=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-4.png\" alt=\"\" class=\"wp-image-845\" srcset=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-4.png 786w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-4-300x263.png 300w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-4-768x674.png 768w\" sizes=\"auto, (max-width: 786px) 100vw, 786px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">6. \uc790\ub3d9\uc73c\ub85c  \uc0dd\uc131\ub41c\uac70 \ud655\uc778<\/h3>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \">package com.example.demo;\n\nimport com.fasterxml.jackson.annotation.JsonProperty;\n\nimport java.util.List;\n\npublic abstract class jaon {\n\n\n    @JsonProperty(\"glossary\")\n    private Glossary glossary;\n\n    public Glossary getGlossary() {\n        return glossary;\n    }\n\n    public void setGlossary(Glossary glossary) {\n        this.glossary = glossary;\n    }\n\n    public static class Glossary {\n        @JsonProperty(\"GlossDiv\")\n        private Glossdiv glossdiv;\n        @JsonProperty(\"title\")\n        private String title;\n\n        public Glossdiv getGlossdiv() {\n            return glossdiv;\n        }\n\n        public void setGlossdiv(Glossdiv glossdiv) {\n            this.glossdiv = glossdiv;\n        }\n\n        public String getTitle() {\n            return title;\n        }\n\n        public void setTitle(String title) {\n            this.title = title;\n        }\n    }\n\n    public static class Glossdiv {\n        @JsonProperty(\"GlossList\")\n        private Glosslist glosslist;\n        @JsonProperty(\"title\")\n        private String title;\n\n        public Glosslist getGlosslist() {\n            return glosslist;\n        }\n\n        public void setGlosslist(Glosslist glosslist) {\n            this.glosslist = glosslist;\n        }\n\n        public String getTitle() {\n            return title;\n        }\n\n        public void setTitle(String title) {\n            this.title = title;\n        }\n    }\n\n    public static class Glosslist {\n        @JsonProperty(\"GlossEntry\")\n        private Glossentry glossentry;\n\n        public Glossentry getGlossentry() {\n            return glossentry;\n        }\n\n        public void setGlossentry(Glossentry glossentry) {\n            this.glossentry = glossentry;\n        }\n    }\n\n    public static class Glossentry {\n        @JsonProperty(\"GlossSee\")\n        private String glosssee;\n        @JsonProperty(\"GlossDef\")\n        private Glossdef glossdef;\n        @JsonProperty(\"Abbrev\")\n        private String abbrev;\n        @JsonProperty(\"Acronym\")\n        private String acronym;\n        @JsonProperty(\"GlossTerm\")\n        private String glossterm;\n        @JsonProperty(\"SortAs\")\n        private String sortas;\n        @JsonProperty(\"ID\")\n        private String id;\n\n        public String getGlosssee() {\n            return glosssee;\n        }\n\n        public void setGlosssee(String glosssee) {\n            this.glosssee = glosssee;\n        }\n\n        public Glossdef getGlossdef() {\n            return glossdef;\n        }\n\n        public void setGlossdef(Glossdef glossdef) {\n            this.glossdef = glossdef;\n        }\n\n        public String getAbbrev() {\n            return abbrev;\n        }\n\n        public void setAbbrev(String abbrev) {\n            this.abbrev = abbrev;\n        }\n\n        public String getAcronym() {\n            return acronym;\n        }\n\n        public void setAcronym(String acronym) {\n            this.acronym = acronym;\n        }\n\n        public String getGlossterm() {\n            return glossterm;\n        }\n\n        public void setGlossterm(String glossterm) {\n            this.glossterm = glossterm;\n        }\n\n        public String getSortas() {\n            return sortas;\n        }\n\n        public void setSortas(String sortas) {\n            this.sortas = sortas;\n        }\n\n        public String getId() {\n            return id;\n        }\n\n        public void setId(String id) {\n            this.id = id;\n        }\n    }\n\n    public static class Glossdef {\n        @JsonProperty(\"GlossSeeAlso\")\n        private List&lt;String&gt; glossseealso;\n        @JsonProperty(\"para\")\n        private String para;\n\n        public List&lt;String&gt; getGlossseealso() {\n            return glossseealso;\n        }\n\n        public void setGlossseealso(List&lt;String&gt; glossseealso) {\n            this.glossseealso = glossseealso;\n        }\n\n        public String getPara() {\n            return para;\n        }\n\n        public void setPara(String para) {\n            this.para = para;\n        }\n    }\n}\n<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"> \ube44\uace0 : \ub370\uc774\ud0c0\uac00 \ucee4\uc9c0\uba74 \ubb38\uc81c\uac00 \ubc1c\uc0dd <\/h3>\n\n\n\n<p>\uc0ac\uc774\ud2b8\ub97c \uc774\uc6a9\ud558\ub294\uac8c \uc88b\uc744 \uac83 \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p><a href=\"https:\/\/json2csharp.com\/code-converters\/json-to-pojo\">https:\/\/json2csharp.com\/code-converters\/json-to-pojo<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"717\" src=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-21-1024x717.png\" alt=\"\" class=\"wp-image-915\" srcset=\"https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-21-1024x717.png 1024w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-21-300x210.png 300w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-21-768x538.png 768w, https:\/\/java.ihavenomoney.co.kr\/wp-content\/uploads\/2022\/11\/image-21.png 1258w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Remark : Plugin \uc744 \uc0ac\uc6a9\ud558\uc5ec DTO \ub85c \ubcc0\uacbd \ud574\ubcf4\uc790. \ub370\uc774\ud0c0\uac00 \ub9ce\uc73c\uba74 \uc798 \ubcc0\uacbd \ub418\uc9c0 \uc54a\ub294\ub2e4. 1.Ctrl + Alt + S DTO generator \ub97c \uc124\uce58 \ud55c\ub2e4. 2.\uc124\uce58 \ub41c \ud654\uba74 3.Alt + Insert -&gt; DTO from JSON 4.\ucc3d\uc5d0 Json\uc744 \ubd99\uc5ec\ub123\uace0 Setting \ud0ed \ub204\ub984 5. Setting \ucc3d\uc5d0\uc11c \/\/ Jackson &#8230; \uc120\ud0dd 6. \uc790\ub3d9\uc73c\ub85c \uc0dd\uc131\ub41c\uac70 \ud655\uc778 \ube44\uace0 : \ub370\uc774\ud0c0\uac00 &hellip;<br \/><a href=\"https:\/\/java.ihavenomoney.co.kr\/?page_id=840\" class=\"more-link pen_button pen_element_default pen_icon_arrow_double\"><span class=\"screen-reader-text\">Json to DTO (Data Transfer Object)<\/span> \ub354\ubcf4\uae30<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-840","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/840","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=840"}],"version-history":[{"count":8,"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/840\/revisions"}],"predecessor-version":[{"id":1069,"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/840\/revisions\/1069"}],"wp:attachment":[{"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=840"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}