RestTemplate\uc758 HTTP \uba54\uc18c\ub4dc \uc0ac\uc6a9: GET, POST, PUT, DELETE \uc608\uc81c<\/p>\n
RestTemplate\uc740 Spring Framework\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 HTTP \ud074\ub77c\uc774\uc5b8\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub85c\uc11c, \ub2e4\uc591\ud55c HTTP \uba54\uc18c\ub4dc(GET, POST, PUT, DELETE \ub4f1)\ub97c \uc774\uc6a9\ud574 RESTful \uc6f9 \uc11c\ube44\uc2a4\ub97c \ud638\ucd9c\ud560 \uc218 \uc788\ub2e4. \uc774\ubc88 \uae00\uc5d0\uc11c\ub294 RestTemplate\uc744 \uc774\uc6a9\ud574 HTTP \uba54\uc18c\ub4dc\ub97c \ud638\ucd9c\ud558\ub294 \ubc29\ubc95\uacfc \uc608\uc81c \ucf54\ub4dc\ub97c \ub2e4\ub8f0 \uac83\uc774\ub2e4.<\/p>\n
GET\uc740 \uc11c\ubc84\ub85c\ubd80\ud130 \ub9ac\uc18c\uc2a4\ub97c \uac00\uc838\uc624\uae30 \uc704\ud55c HTTP \uba54\uc18c\ub4dc\ub85c, \uc77c\ubc18\uc801\uc73c\ub85c \uc815\ubcf4\ub97c \uc870\ud68c\ud560 \ub54c \uc0ac\uc6a9\ud55c\ub2e4. RestTemplate\uc5d0\uc11c GET \uba54\uc18c\ub4dc\ub97c \ud638\ucd9c\ud558\ub294 \ubc29\ubc95\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n
RestTemplate restTemplate = new RestTemplate();\nString url = \"https:\/\/example.com\/api\/users\/1\";\nString response = restTemplate.getForObject(url, String.class);<\/code><\/pre>\n\uc704 \ucf54\ub4dc\uc5d0\uc11c RestTemplate<\/code> \uac1d\uccb4\ub97c \uc0dd\uc131\ud55c \ud6c4, getForObject()<\/code> \uba54\uc18c\ub4dc\ub97c \uc774\uc6a9\ud574 URL\uc744 \ud638\ucd9c\ud55c\ub2e4. \ud638\ucd9c \uacb0\uacfc\ub294 String<\/code> \ud615\ud0dc\ub85c \ubc18\ud658\ub41c\ub2e4.<\/p>\n
RestTemplate\uc744 \uc774\uc6a9\ud55c HTTP POST, PUT, DELETE \uba54\uc18c\ub4dc \uc0ac\uc6a9 \uc608\uc81c<\/h2>\nPOST, PUT, DELETE\ub294 \uac01\uac01 \ub9ac\uc18c\uc2a4\ub97c \uc0dd\uc131, \uc218\uc815, \uc0ad\uc81c\ud558\uae30 \uc704\ud55c HTTP \uba54\uc18c\ub4dc\uc774\ub2e4. RestTemplate\uc5d0\uc11c POST, PUT, DELETE \uba54\uc18c\ub4dc\ub97c \ud638\ucd9c\ud558\ub294 \ubc29\ubc95\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n
RestTemplate restTemplate = new RestTemplate();\nString url = \"https:\/\/example.com\/api\/users\";\nUser user = new User(\"John\", \"Doe\");\nResponseEntity response = restTemplate.postForEntity(url, user, String.class);\n\nurl = \"https:\/\/example.com\/api\/users\/1\";\nUser modifiedUser = new User(\"Jane\", \"Doe\");\nrestTemplate.put(url, modifiedUser);\n\nurl = \"https:\/\/example.com\/api\/users\/1\";\nrestTemplate.delete(url);<\/code><\/pre>\n\uc704 \ucf54\ub4dc\uc5d0\uc11c User<\/code> \ud074\ub798\uc2a4\ub294 \uc0ac\uc6a9\uc790 \uc815\ubcf4\ub97c \ub2f4\uae30 \uc704\ud55c \ud074\ub798\uc2a4\ub85c, postForEntity()<\/code> \uba54\uc18c\ub4dc\ub97c \uc774\uc6a9\ud574 POST \uc694\uccad\uc744 \ubcf4\ub0b8\ub2e4. put()<\/code> \uba54\uc18c\ub4dc\ub294 PUT \uc694\uccad\uc744 \ubcf4\ub0b4\uace0, delete()<\/code> \uba54\uc18c\ub4dc\ub294 DELETE \uc694\uccad\uc744 \ubcf4\ub0b8\ub2e4.<\/p>\n
RestTemplate\uc744 \uc774\uc6a9\ud55c HTTP \uba54\uc18c\ub4dc \uc0ac\uc6a9\uc2dc \uc8fc\uc758\uc0ac\ud56d \ubc0f \uc608\uc678\ucc98\ub9ac \ubc29\ubc95<\/h2>\nRestTemplate\uc744 \uc774\uc6a9\ud574 HTTP \uc694\uccad\uc744 \ubcf4\ub0bc \ub54c, \uc8fc\uc758\ud574\uc57c \ud560 \uc0ac\ud56d\uc774 \uc788\ub2e4. \uccab\uc9f8\ub294 \uc778\uc99d \uc815\ubcf4\ub97c \ubcf4\ud638\ud574\uc57c \ud55c\ub2e4\ub294 \uac83\uc774\ub2e4. RestTemplate\uc740 \uae30\ubcf8\uc801\uc73c\ub85c \uc778\uc99d \uc815\ubcf4\ub97c \uc81c\uacf5\ud558\uc9c0 \uc54a\uc73c\ubbc0\ub85c, \ud544\uc694\ud55c \uacbd\uc6b0 RestTemplateBuilder<\/code>\ub97c \uc774\uc6a9\ud574 \uc778\uc99d \uc815\ubcf4\ub97c \ucd94\uac00\ud574\uc57c \ud55c\ub2e4.<\/p>\n
RestTemplateBuilder builder = new RestTemplateBuilder()\n .basicAuthentication(\"username\", \"password\");\nRestTemplate restTemplate = builder.build();<\/code><\/pre>\n\ub458\uc9f8\ub294 \uc694\uccad\uc774 \uc2e4\ud328\ud560 \uacbd\uc6b0 \uc608\uc678\ucc98\ub9ac\ub97c \ud574\uc57c \ud55c\ub2e4\ub294 \uac83\uc774\ub2e4. RestTemplate\uc740 \uae30\ubcf8\uc801\uc73c\ub85c 4xx, 5xx \uc5d0\ub7ec\ub97c \ubc1c\uc0dd\uc2dc\ud0a4\uc9c0 \uc54a\uc73c\ubbc0\ub85c, ResponseErrorHandler<\/code>\ub97c \uc774\uc6a9\ud574 \uc608\uc678\ucc98\ub9ac\ub97c \ud574\uc57c \ud55c\ub2e4.<\/p>\n
RestTemplateBuilder builder = new RestTemplateBuilder()\n .errorHandler(new MyResponseErrorHandler());\nRestTemplate restTemplate = builder.build();\n\npublic class MyResponseErrorHandler extends DefaultResponseErrorHandler {\n @Override\n public void handleError(ClientHttpResponse response) throws IOException {\n \/\/ handle error\n }\n}<\/code><\/pre>\n\uc774\ucc98\ub7fc, RestTemplate\uc744 \uc774\uc6a9\ud574 HTTP \uc694\uccad\uc744 \ubcf4\ub0bc \ub54c\ub294 \uc778\uc99d \uc815\ubcf4 \ubcf4\ud638\uc640 \uc608\uc678\ucc98\ub9ac \ub4f1\uc744 \uace0\ub824\ud574\uc57c \ud55c\ub2e4.<\/p>\n
\uc774\ubc88 \uae00\uc5d0\uc11c\ub294 RestTemplate\uc744 \uc774\uc6a9\ud574 HTTP \uba54\uc18c\ub4dc(GET, POST, PUT, DELETE)\ub97c \ud638\ucd9c\ud558\ub294 \ubc29\ubc95\uacfc \uc608\uc81c \ucf54\ub4dc\ub97c \uc0b4\ud3b4\ubcf4\uc558\ub2e4. RestTemplate\uc740 \uac15\ub825\ud55c HTTP \ud074\ub77c\uc774\uc5b8\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc774\uba70, Spring Framework\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \uae30\ub2a5 \uc911 \ud558\ub098\uc774\ub2e4. \uac1c\ubc1c\uc790\ub4e4\uc740 \uc774\ub97c \uc774\uc6a9\ud574 RESTful \uc6f9 \uc11c\ube44\uc2a4\ub97c \ud638\ucd9c\ud558\uace0, \ub2e4\uc591\ud55c \uae30\ub2a5\uc744 \uad6c\ud604\ud560 \uc218 \uc788\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"
RestTemplate\uc758 HTTP \uba54\uc18c\ub4dc \uc0ac\uc6a9: GET, POST, PUT, DELETE \uc608\uc81c<\/p>\n","protected":false},"author":1,"featured_media":12633,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1957],"tags":[2119,2068,45,2188,2156],"class_list":["post-25175","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development","tag-api","tag-handle","tag-new","tag-public","tag-spring"],"acf":[],"_links":{"self":[{"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/posts\/25175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/comments?post=25175"}],"version-history":[{"count":0,"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/posts\/25175\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/media\/12633"}],"wp:attachment":[{"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/media?parent=25175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/categories?post=25175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/tags?post=25175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}