{"id":578,"date":"2020-04-01T05:17:11","date_gmt":"2020-04-01T05:17:11","guid":{"rendered":"http:\/\/happily70.dothome.co.kr\/?p=578"},"modified":"2020-04-01T05:17:11","modified_gmt":"2020-04-01T05:17:11","slug":"restful-api","status":"publish","type":"post","link":"http:\/\/happily70.dothome.co.kr\/?p=578","title":{"rendered":"RestFul API"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">REST \uad6c\uc131<\/h2>\n\n\n\n<p>\uc27d\uac8c \ub9d0\ud574 REST API\ub294 \ub2e4\uc74c\uc758 \uad6c\uc131\uc73c\ub85c \uc774\ub8e8\uc5b4\uc838\uc788\uc2b5\ub2c8\ub2e4. \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \ubc11\uc5d0\uc11c \uc124\uba85\ud558\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>\uc790\uc6d0(RESOURCE)<\/strong>&nbsp;&#8211; URI<\/li><li><strong>\ud589\uc704(Verb)<\/strong>&nbsp;&#8211; HTTP METHOD<\/li><li><strong>\ud45c\ud604(Representations)<\/strong><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">REST \uc758 \ud2b9\uc9d5<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">1) Uniform (\uc720\ub2c8\ud3fc \uc778\ud130\ud398\uc774\uc2a4)<\/h4>\n\n\n\n<p>Uniform Interface\ub294 URI\ub85c \uc9c0\uc815\ud55c \ub9ac\uc18c\uc2a4\uc5d0 \ub300\ud55c \uc870\uc791\uc744 \ud1b5\uc77c\ub418\uace0 \ud55c\uc815\uc801\uc778 \uc778\ud130\ud398\uc774\uc2a4\ub85c \uc218\ud589\ud558\ub294 \uc544\ud0a4\ud14d\ucc98 \uc2a4\ud0c0\uc77c\uc744 \ub9d0\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2) Stateless (\ubb34\uc0c1\ud0dc\uc131)<\/h4>\n\n\n\n<p>REST\ub294 \ubb34\uc0c1\ud0dc\uc131 \uc131\uaca9\uc744 \uac16\uc2b5\ub2c8\ub2e4. \ub2e4\uc2dc \ub9d0\ud574 \uc791\uc5c5\uc744 \uc704\ud55c \uc0c1\ud0dc\uc815\ubcf4\ub97c \ub530\ub85c \uc800\uc7a5\ud558\uace0 \uad00\ub9ac\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc138\uc158 \uc815\ubcf4\ub098 \ucfe0\ud0a4\uc815\ubcf4\ub97c \ubcc4\ub3c4\ub85c \uc800\uc7a5\ud558\uace0 \uad00\ub9ac\ud558\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0 API \uc11c\ubc84\ub294 \ub4e4\uc5b4\uc624\ub294 \uc694\uccad\ub9cc\uc744 \ub2e8\uc21c\ud788 \ucc98\ub9ac\ud558\uba74 \ub429\ub2c8\ub2e4. \ub54c\ubb38\uc5d0 \uc11c\ube44\uc2a4\uc758 \uc790\uc720\ub3c4\uac00 \ub192\uc544\uc9c0\uace0 \uc11c\ubc84\uc5d0\uc11c \ubd88\ud544\uc694\ud55c \uc815\ubcf4\ub97c \uad00\ub9ac\ud558\uc9c0 \uc54a\uc74c\uc73c\ub85c\uc368 \uad6c\ud604\uc774 \ub2e8\uc21c\ud574\uc9d1\ub2c8\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">3) Cacheable (\uce90\uc2dc \uac00\ub2a5)<\/h4>\n\n\n\n<p>REST\uc758 \uac00\uc7a5 \ud070 \ud2b9\uc9d5 \uc911 \ud558\ub098\ub294 HTTP\ub77c\ub294 \uae30\uc874 \uc6f9\ud45c\uc900\uc744 \uadf8\ub300\ub85c \uc0ac\uc6a9\ud558\uae30 \ub54c\ubb38\uc5d0, \uc6f9\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \uae30\uc874 \uc778\ud504\ub77c\ub97c \uadf8\ub300\ub85c \ud65c\uc6a9\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c HTTP\uac00 \uac00\uc9c4 \uce90\uc2f1 \uae30\ub2a5\uc774 \uc801\uc6a9 \uac00\ub2a5\ud569\ub2c8\ub2e4. HTTP \ud504\ub85c\ud1a0\ucf5c \ud45c\uc900\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 Last-Modified\ud0dc\uadf8\ub098 E-Tag\ub97c \uc774\uc6a9\ud558\uba74 \uce90\uc2f1 \uad6c\ud604\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">4) Self-descriptiveness (\uc790\uccb4 \ud45c\ud604 \uad6c\uc870)<\/h4>\n\n\n\n<p>REST\uc758 \ub610 \ub2e4\ub978 \ud070 \ud2b9\uc9d5 \uc911 \ud558\ub098\ub294 REST API \uba54\uc2dc\uc9c0\ub9cc \ubcf4\uace0\ub3c4 \uc774\ub97c \uc27d\uac8c \uc774\ud574 \ud560 \uc218 \uc788\ub294 \uc790\uccb4 \ud45c\ud604 \uad6c\uc870\ub85c \ub418\uc5b4 \uc788\ub2e4\ub294 \uac83\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">5) Client &#8211; Server \uad6c\uc870<\/h4>\n\n\n\n<p>REST \uc11c\ubc84\ub294 API \uc81c\uacf5, \ud074\ub77c\uc774\uc5b8\ud2b8\ub294 \uc0ac\uc6a9\uc790 \uc778\uc99d\uc774\ub098 \ucee8\ud14d\uc2a4\ud2b8(\uc138\uc158, \ub85c\uadf8\uc778 \uc815\ubcf4)\ub4f1\uc744 \uc9c1\uc811 \uad00\ub9ac\ud558\ub294 \uad6c\uc870\ub85c \uac01\uac01\uc758 \uc5ed\ud560\uc774 \ud655\uc2e4\ud788 \uad6c\ubd84\ub418\uae30 \ub54c\ubb38\uc5d0 \ud074\ub77c\uc774\uc5b8\ud2b8\uc640 \uc11c\ubc84\uc5d0\uc11c \uac1c\ubc1c\ud574\uc57c \ud560 \ub0b4\uc6a9\uc774 \uba85\ud655\ud574\uc9c0\uace0 \uc11c\ub85c\uac04 \uc758\uc874\uc131\uc774 \uc904\uc5b4\ub4e4\uac8c \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">6) \uacc4\uce35\ud615 \uad6c\uc870<\/h4>\n\n\n\n<p>REST \uc11c\ubc84\ub294 \ub2e4\uc911 \uacc4\uce35\uc73c\ub85c \uad6c\uc131\ub420 \uc218 \uc788\uc73c\uba70 \ubcf4\uc548, \ub85c\ub4dc \ubc38\ub7f0\uc2f1, \uc554\ud638\ud654 \uacc4\uce35\uc744 \ucd94\uac00\ud574 \uad6c\uc870\uc0c1\uc758 \uc720\uc5f0\uc131\uc744 \ub458 \uc218 \uc788\uace0 PROXY, \uac8c\uc774\ud2b8\uc6e8\uc774 \uac19\uc740 \ub124\ud2b8\uc6cc\ud06c \uae30\ubc18\uc758 \uc911\uac04\ub9e4\uccb4\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uac8c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">REST API \ub514\uc790\uc778 \uac00\uc774\ub4dc<\/h2>\n\n\n\n<p>REST API \uc124\uacc4 \uc2dc \uac00\uc7a5 \uc911\uc694\ud55c \ud56d\ubaa9\uc740 \ub2e4\uc74c\uc758 2\uac00\uc9c0\ub85c \uc694\uc57d\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p><strong>\uccab \ubc88\uc9f8,<\/strong>\u00a0URI\ub294 \uc815\ubcf4\uc758 \uc790\uc6d0\uc744 \ud45c\ud604\ud574\uc57c \ud55c\ub2e4.<br><strong>\ub450 \ubc88\uc9f8,<\/strong>\u00a0\uc790\uc6d0\uc5d0 \ub300\ud55c \ud589\uc704\ub294 HTTP Method(GET, POST, PUT, DELETE)\ub85c \ud45c\ud604\ud55c\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">REST API \uc911\uc2ec \uaddc\uce59<\/h3>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">1) URI\ub294 \uc815\ubcf4\uc758 \uc790\uc6d0\uc744 \ud45c\ud604\ud574\uc57c \ud55c\ub2e4. (\ub9ac\uc18c\uc2a4\uba85\uc740 \ub3d9\uc0ac\ubcf4\ub2e4\ub294 \uba85\uc0ac\ub97c \uc0ac\uc6a9)<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>    GET \/members\/delete\/1\n<\/code><\/pre>\n\n\n\n<p>\uc704\uc640 \uac19\uc740 \ubc29\uc2dd\uc740 REST\ub97c \uc81c\ub300\ub85c \uc801\uc6a9\ud558\uc9c0 \uc54a\uc740 URI\uc785\ub2c8\ub2e4. URI\ub294 \uc790\uc6d0\uc744 \ud45c\ud604\ud558\ub294\ub370 \uc911\uc810\uc744 \ub450\uc5b4\uc57c \ud569\ub2c8\ub2e4. delete\uc640 \uac19\uc740 \ud589\uc704\uc5d0 \ub300\ud55c \ud45c\ud604\uc774 \ub4e4\uc5b4\uac00\uc11c\ub294 \uc548\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2) \uc790\uc6d0\uc5d0 \ub300\ud55c \ud589\uc704\ub294 HTTP Method(GET, POST, PUT, DELETE \ub4f1)\ub85c \ud45c\ud604<\/h4>\n\n\n\n<p>\uc704\uc758 \uc798\ubabb \ub41c URI\ub97c HTTP Method\ub97c \ud1b5\ud574 \uc218\uc815\ud574 \ubcf4\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    DELETE \/members\/1\n<\/code><\/pre>\n\n\n\n<p>\uc73c\ub85c \uc218\uc815\ud560 \uc218 \uc788\uaca0\uc2b5\ub2c8\ub2e4.<br>\ud68c\uc6d0\uc815\ubcf4\ub97c \uac00\uc838\uc62c \ub54c\ub294 GET, \ud68c\uc6d0 \ucd94\uac00 \uc2dc\uc758 \ud589\uc704\ub97c \ud45c\ud604\ud558\uace0\uc790 \ud560 \ub54c\ub294 POST METHOD\ub97c \uc0ac\uc6a9\ud558\uc5ec \ud45c\ud604\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p><strong>\ud68c\uc6d0\uc815\ubcf4\ub97c \uac00\uc838\uc624\ub294 URI<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    GET \/members\/show\/1     (x)\n    GET \/members\/1          (o)\n<\/code><\/pre>\n\n\n\n<p><strong>\ud68c\uc6d0\uc744 \ucd94\uac00\ud560 \ub54c<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    GET \/members\/insert\/2 (x)  - GET \uba54\uc11c\ub4dc\ub294 \ub9ac\uc18c\uc2a4 \uc0dd\uc131\uc5d0 \ub9de\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.\n    POST \/members\/2       (o)\n<\/code><\/pre>\n\n\n\n<p><strong>[\ucc38\uace0]HTTP METHOD\uc758 \uc54c\ub9de\uc740 \uc5ed\ud560<\/strong><br>POST, GET, PUT, DELETE \uc774 4\uac00\uc9c0\uc758 Method\ub97c \uac00\uc9c0\uace0 CRUD\ub97c \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"\"><thead><tr><th>METHOD<\/th><th>\uc5ed\ud560<\/th><\/tr><\/thead><tbody><tr><td>POST<\/td><td>POST\ub97c \ud1b5\ud574 \ud574\ub2f9 URI\ub97c \uc694\uccad\ud558\uba74 \ub9ac\uc18c\uc2a4\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/td><\/tr><tr><td>GET<\/td><td>GET\ub97c \ud1b5\ud574 \ud574\ub2f9 \ub9ac\uc18c\uc2a4\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4. \ub9ac\uc18c\uc2a4\ub97c \uc870\ud68c\ud558\uace0 \ud574\ub2f9 \ub3c4\ud050\uba3c\ud2b8\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \uc815\ubcf4\ub97c \uac00\uc838\uc628\ub2e4.<\/td><\/tr><tr><td>PUT<\/td><td>PUT\ub97c \ud1b5\ud574 \ud574\ub2f9 \ub9ac\uc18c\uc2a4\ub97c \uc218\uc815\ud569\ub2c8\ub2e4.<\/td><\/tr><tr><td>DELETE<\/td><td>DELETE\ub97c \ud1b5\ud574 \ub9ac\uc18c\uc2a4\ub97c \uc0ad\uc81c\ud569\ub2c8\ub2e4.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\ub2e4\uc74c\uacfc \uac19\uc740 \uc2dd\uc73c\ub85c URI\ub294 \uc790\uc6d0\uc744 \ud45c\ud604\ud558\ub294 \ub370\uc5d0 \uc9d1\uc911\ud558\uace0 \ud589\uc704\uc5d0 \ub300\ud55c \uc815\uc758\ub294 HTTP METHOD\ub97c \ud1b5\ud574 \ud558\ub294 \uac83\uc774 REST\ud55c API\ub97c \uc124\uacc4\ud558\ub294 \uc911\uc2ec \uaddc\uce59\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">URI \uc124\uacc4 \uc2dc \uc8fc\uc758\ud560 \uc810<\/h3>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">1) \uc2ac\ub798\uc2dc \uad6c\ubd84\uc790(\/)\ub294 \uacc4\uce35 \uad00\uacc4\ub97c \ub098\ud0c0\ub0b4\ub294 \ub370 \uc0ac\uc6a9<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>    http:\/\/restapi.example.com\/houses\/apartments\n    http:\/\/restapi.example.com\/animals\/mammals\/whales\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">2) URI \ub9c8\uc9c0\ub9c9 \ubb38\uc790\ub85c \uc2ac\ub798\uc2dc(\/)\ub97c \ud3ec\ud568\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/h4>\n\n\n\n<p>URI\uc5d0 \ud3ec\ud568\ub418\ub294 \ubaa8\ub4e0 \uae00\uc790\ub294 \ub9ac\uc18c\uc2a4\uc758 \uc720\uc77c\ud55c \uc2dd\ubcc4\uc790\ub85c \uc0ac\uc6a9\ub418\uc5b4\uc57c \ud558\uba70 URI\uac00 \ub2e4\ub974\ub2e4\ub294 \uac83\uc740 \ub9ac\uc18c\uc2a4\uac00 \ub2e4\ub974\ub2e4\ub294 \uac83\uc774\uace0, \uc5ed\uc73c\ub85c \ub9ac\uc18c\uc2a4\uac00 \ub2e4\ub974\uba74 URI\ub3c4 \ub2ec\ub77c\uc838\uc57c \ud569\ub2c8\ub2e4. REST API\ub294 \ubd84\uba85\ud55c URI\ub97c \ub9cc\ub4e4\uc5b4 \ud1b5\uc2e0\uc744 \ud574\uc57c \ud558\uae30 \ub54c\ubb38\uc5d0 \ud63c\ub3d9\uc744 \uc8fc\uc9c0 \uc54a\ub3c4\ub85d URI \uacbd\ub85c\uc758 \ub9c8\uc9c0\ub9c9\uc5d0\ub294 \uc2ac\ub798\uc2dc(\/)\ub97c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    http:\/\/restapi.example.com\/houses\/apartments\/ (X)\n    http:\/\/restapi.example.com\/houses\/apartments  (0)\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">3) \ud558\uc774\ud508(-)\uc740 URI \uac00\ub3c5\uc131\uc744 \ub192\uc774\ub294\ub370 \uc0ac\uc6a9<\/h4>\n\n\n\n<p>URI\ub97c \uc27d\uac8c \uc77d\uace0 \ud574\uc11d\ud558\uae30 \uc704\ud574, \ubd88\uac00\ud53c\ud558\uac8c \uae34 URI\uacbd\ub85c\ub97c \uc0ac\uc6a9\ud558\uac8c \ub41c\ub2e4\uba74 \ud558\uc774\ud508\uc744 \uc0ac\uc6a9\ud574 \uac00\ub3c5\uc131\uc744 \ub192\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">4) \ubc11\uc904(_)\uc740 URI\uc5d0 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/h4>\n\n\n\n<p>\uae00\uaf34\uc5d0 \ub530\ub77c \ub2e4\ub974\uae34 \ud558\uc9c0\ub9cc \ubc11\uc904\uc740 \ubcf4\uae30 \uc5b4\ub835\uac70\ub098 \ubc11\uc904 \ub54c\ubb38\uc5d0 \ubb38\uc790\uac00 \uac00\ub824\uc9c0\uae30\ub3c4 \ud569\ub2c8\ub2e4. \uc774\ub7f0 \ubb38\uc81c\ub97c \ud53c\ud558\uae30 \uc704\ud574 \ubc11\uc904 \ub300\uc2e0 \ud558\uc774\ud508(-)\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4.(\uac00\ub3c5\uc131)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">5) URI \uacbd\ub85c\uc5d0\ub294 \uc18c\ubb38\uc790\uac00 \uc801\ud569\ud558\ub2e4.<\/h4>\n\n\n\n<p>URI \uacbd\ub85c\uc5d0 \ub300\ubb38\uc790 \uc0ac\uc6a9\uc740 \ud53c\ud558\ub3c4\ub85d \ud574\uc57c \ud569\ub2c8\ub2e4. \ub300\uc18c\ubb38\uc790\uc5d0 \ub530\ub77c \ub2e4\ub978 \ub9ac\uc18c\uc2a4\ub85c \uc778\uc2dd\ud558\uac8c \ub418\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. RFC 3986(URI \ubb38\ubc95 \ud615\uc2dd)\uc740 URI \uc2a4\ud0a4\ub9c8\uc640 \ud638\uc2a4\ud2b8\ub97c \uc81c\uc678\ud558\uace0\ub294 \ub300\uc18c\ubb38\uc790\ub97c \uad6c\ubcc4\ud558\ub3c4\ub85d \uaddc\uc815\ud558\uae30 \ub54c\ubb38\uc774\uc9c0\uc694.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    RFC 3986 is the URI (Unified Resource Identifier) Syntax document\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">6) \ud30c\uc77c \ud655\uc7a5\uc790\ub294 URI\uc5d0 \ud3ec\ud568\uc2dc\ud0a4\uc9c0 \uc54a\ub294\ub2e4.<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>    http:\/\/restapi.example.com\/members\/soccer\/345\/photo.jpg (X)\n<\/code><\/pre>\n\n\n\n<p>REST API\uc5d0\uc11c\ub294 \uba54\uc2dc\uc9c0 \ubc14\ub514 \ub0b4\uc6a9\uc758 \ud3ec\ub9f7\uc744 \ub098\ud0c0\ub0b4\uae30 \uc704\ud55c \ud30c\uc77c \ud655\uc7a5\uc790\ub97c URI \uc548\uc5d0 \ud3ec\ud568\uc2dc\ud0a4\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. Accept header\ub97c \uc0ac\uc6a9\ud558\ub3c4\ub85d \ud569\uc2dc\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    GET \/ members\/soccer\/345\/photo HTTP\/1.1 Host: restapi.example.com Accept: image\/jpg\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">&#8212; \ub9ac\uc18c\uc2a4 \uac04\uc758 \uad00\uacc4\ub97c \ud45c\ud604\ud558\ub294 \ubc29\ubc95<\/h3>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>REST \ub9ac\uc18c\uc2a4 \uac04\uc5d0\ub294 \uc5f0\uad00 \uad00\uacc4\uac00 \uc788\uc744 \uc218 \uc788\uace0, \uc774\ub7f0 \uacbd\uc6b0 \ub2e4\uc74c\uacfc \uac19\uc740 \ud45c\ud604\ubc29\ubc95\uc73c\ub85c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    \/\ub9ac\uc18c\uc2a4\uba85\/\ub9ac\uc18c\uc2a4 ID\/\uad00\uacc4\uac00 \uc788\ub294 \ub2e4\ub978 \ub9ac\uc18c\uc2a4\uba85\n\n    ex)    GET : \/users\/{userid}\/devices (\uc77c\ubc18\uc801\uc73c\ub85c \uc18c\uc720 \u2018has\u2019\uc758 \uad00\uacc4\ub97c \ud45c\ud604\ud560 \ub54c)\n<\/code><\/pre>\n\n\n\n<p>\ub9cc\uc57d\uc5d0 \uad00\uacc4\uba85\uc774 \ubcf5\uc7a1\ud558\ub2e4\uba74 \uc774\ub97c \uc11c\ube0c \ub9ac\uc18c\uc2a4\uc5d0 \uba85\uc2dc\uc801\uc73c\ub85c \ud45c\ud604\ud558\ub294 \ubc29\ubc95\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \uc0ac\uc6a9\uc790\uac00 \u2018\uc88b\uc544\ud558\ub294\u2019 \ub514\ubc14\uc774\uc2a4 \ubaa9\ub85d\uc744 \ud45c\ud604\ud574\uc57c \ud560 \uacbd\uc6b0 \ub2e4\uc74c\uacfc \uac19\uc740 \ud615\ud0dc\ub85c \uc0ac\uc6a9\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    GET : \/users\/{userid}\/likes\/devices (\uad00\uacc4\uba85\uc774 \uc560\ub9e4\ud558\uac70\ub098 \uad6c\uccb4\uc801 \ud45c\ud604\uc774 \ud544\uc694\ud560 \ub54c)\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"> &#8212; \uc790\uc6d0\uc744 \ud45c\ud604\ud558\ub294 Colllection\uacfc Document<\/h3>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>Collection\uacfc Document\uc5d0 \ub300\ud574 \uc54c\uba74 URI \uc124\uacc4\uac00 \ud55c \uce35 \ub354 \uc26c\uc6cc\uc9d1\ub2c8\ub2e4. DOCUMENT\ub294 \ub2e8\uc21c\ud788 \ubb38\uc11c\ub85c \uc774\ud574\ud574\ub3c4 \ub418\uace0, \ud55c \uac1d\uccb4\ub77c\uace0 \uc774\ud574\ud558\uc154\ub3c4 \ub420 \uac83 \uac19\uc2b5\ub2c8\ub2e4. \uceec\ub809\uc158\uc740 \ubb38\uc11c\ub4e4\uc758 \uc9d1\ud569, \uac1d\uccb4\ub4e4\uc758 \uc9d1\ud569\uc774\ub77c\uace0 \uc0dd\uac01\ud558\uc2dc\uba74 \uc774\ud574\ud558\uc2dc\ub294\ub370 \uc880\ub354 \ud3b8\ud558\uc2e4 \uac83 \uac19\uc2b5\ub2c8\ub2e4. \uceec\ub809\uc158\uacfc \ub3c4\ud050\uba3c\ud2b8\ub294 \ubaa8\ub450 \ub9ac\uc18c\uc2a4\ub77c\uace0 \ud45c\ud604\ud560 \uc218 \uc788\uc73c\uba70 URI\uc5d0 \ud45c\ud604\ub429\ub2c8\ub2e4. \uc608\ub97c \uc0b4\ud3b4\ubcf4\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    http:\/\/ restapi.example.com\/sports\/soccer\n<\/code><\/pre>\n\n\n\n<p>\uc704 URI\ub97c \ubcf4\uc2dc\uba74 sports\ub77c\ub294 \uceec\ub809\uc158\uacfc soccer\ub77c\ub294 \ub3c4\ud050\uba3c\ud2b8\ub85c \ud45c\ud604\ub418\uace0 \uc788\ub2e4\uace0 \uc0dd\uac01\ud558\uba74 \ub429\ub2c8\ub2e4. \uc880 \ub354 \uc608\ub97c \ub4e4\uc5b4\ubcf4\uc790\uba74<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    http:\/\/ restapi.example.com\/sports\/soccer\/players\/13\n<\/code><\/pre>\n\n\n\n<p>sports, players \uceec\ub809\uc158\uacfc soccer, 13(13\ubc88\uc778 \uc120\uc218)\ub97c \uc758\ubbf8\ud558\ub294 \ub3c4\ud050\uba3c\ud2b8\ub85c URI\uac00 \uc774\ub8e8\uc5b4\uc9c0\uac8c \ub429\ub2c8\ub2e4. \uc5ec\uae30\uc11c \uc911\uc694\ud55c \uc810\uc740&nbsp;<strong>\uceec\ub809\uc158\uc740 \ubcf5\uc218<\/strong>\ub85c \uc0ac\uc6a9\ud558\uace0 \uc788\ub2e4\ub294 \uc810\uc785\ub2c8\ub2e4. \uc880 \ub354 \uc9c1\uad00\uc801\uc778 REST API\ub97c \uc704\ud574\uc11c\ub294 \uceec\ub809\uc158\uacfc \ub3c4\ud050\uba3c\ud2b8\ub97c \uc0ac\uc6a9\ud560 \ub54c \ub2e8\uc218 \ubcf5\uc218\ub3c4 \uc9c0\ucf1c\uc900\ub2e4\uba74 \uc880 \ub354 \uc774\ud574\ud558\uae30 \uc26c\uc6b4 URI\ub97c \uc124\uacc4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>REST \uad6c\uc131 \uc27d\uac8c \ub9d0\ud574 REST API\ub294 \ub2e4\uc74c\uc758 \uad6c\uc131\uc73c\ub85c \uc774\ub8e8\uc5b4\uc838\uc788\uc2b5\ub2c8\ub2e4. \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \ubc11\uc5d0\uc11c \uc124\uba85\ud558\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4. \uc790\uc6d0(RESOURCE)&nbsp;&#8211; URI \ud589\uc704(Verb)&nbsp;&#8211; HTTP METHOD \ud45c\ud604(Representations) REST \uc758 \ud2b9\uc9d5 1) Uniform (\uc720\ub2c8\ud3fc \uc778\ud130\ud398\uc774\uc2a4) Uniform Interface\ub294 URI\ub85c \uc9c0\uc815\ud55c \ub9ac\uc18c\uc2a4\uc5d0 \ub300\ud55c \uc870\uc791\uc744 \ud1b5\uc77c\ub418\uace0 \ud55c\uc815\uc801\uc778 \uc778\ud130\ud398\uc774\uc2a4\ub85c \uc218\ud589\ud558\ub294 \uc544\ud0a4\ud14d\ucc98 \uc2a4\ud0c0\uc77c\uc744 \ub9d0\ud569\ub2c8\ub2e4. 2) Stateless (\ubb34\uc0c1\ud0dc\uc131) REST\ub294 \ubb34\uc0c1\ud0dc\uc131 \uc131\uaca9\uc744 \uac16\uc2b5\ub2c8\ub2e4. \ub2e4\uc2dc \ub9d0\ud574 \uc791\uc5c5\uc744 \uc704\ud55c \uc0c1\ud0dc\uc815\ubcf4\ub97c \ub530\ub85c \uc800\uc7a5\ud558\uace0<\/p>\n<footer class=\"entry-footer index-entry\">\n<div class=\"post-social pull-left\"><a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=http%3A%2F%2Fhappily70.dothome.co.kr%2F%3Fp%3D578\" target=\"_blank\" class=\"social-icons\"><i class=\"fa fa-facebook\" aria-hidden=\"true\"><\/i><\/a><a href=\"https:\/\/twitter.com\/home?status=http%3A%2F%2Fhappily70.dothome.co.kr%2F%3Fp%3D578\" target=\"_blank\" class=\"social-icons\"><i class=\"fa fa-twitter\" aria-hidden=\"true\"><\/i><\/a><a href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=http%3A%2F%2Fhappily70.dothome.co.kr%2F%3Fp%3D578&#038;title=RestFul+API\" target=\"_blank\" class=\"social-icons\"><i class=\"fa fa-linkedin\" aria-hidden=\"true\"><\/i><\/a><\/div>\n<p class=\"link-more\"><a href=\"http:\/\/happily70.dothome.co.kr\/?p=578\" class=\"more-link\">Continue reading <span class=\"meta-nav\">\u2192<\/span><\/a><\/p>\n<\/footer>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,33,28],"tags":[],"class_list":["post-578","post","type-post","status-publish","format-standard","hentry","category-back-end","category-developement","category-etc"],"_links":{"self":[{"href":"http:\/\/happily70.dothome.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/578"}],"collection":[{"href":"http:\/\/happily70.dothome.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/happily70.dothome.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/happily70.dothome.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/happily70.dothome.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=578"}],"version-history":[{"count":3,"href":"http:\/\/happily70.dothome.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/578\/revisions"}],"predecessor-version":[{"id":689,"href":"http:\/\/happily70.dothome.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/578\/revisions\/689"}],"wp:attachment":[{"href":"http:\/\/happily70.dothome.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=578"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/happily70.dothome.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=578"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/happily70.dothome.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=578"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}