\uc2a4\ud504\ub9c1 \ud504\ub808\uc784\uc6cc\ud06c\ub294 \uc790\ubc14 \uae30\ubc18\uc758 \uc624\ud508\uc18c\uc2a4 \ud504\ub808\uc784\uc6cc\ud06c\ub85c, \ub300\uaddc\ubaa8 \uc6f9 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uac1c\ubc1c\ud558\uae30 \uc704\ud55c \ub2e4\uc591\ud55c \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. RESTful API\ub294 Representational State Transfer\uc758 \uc57d\uc790\ub85c, HTTP \ud504\ub85c\ud1a0\ucf5c\uc744 \ud1b5\ud574 \ub370\uc774\ud130\ub97c \uc804\uc1a1\ud558\ub294 \uc6f9 \uc11c\ube44\uc2a4\ub97c \uc758\ubbf8\ud569\ub2c8\ub2e4. \uc2a4\ud504\ub9c1 \uc6f9 MVC\ub97c \ud65c\uc6a9\ud558\uc5ec RESTful API\ub97c \uac1c\ubc1c\ud558\uba74, \uac04\ub2e8\ud558\uace0 \ud6a8\uc728\uc801\uc778 \ubc29\ubc95\uc73c\ub85c \uc6f9 \uc11c\ube44\uc2a4\ub97c \uad6c\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n
RESTful API\ub294 \uc77c\ubc18\uc801\uc73c\ub85c HTTP \uba54\uc11c\ub4dc\ub97c \uc774\uc6a9\ud558\uc5ec \ub370\uc774\ud130\ub97c \uc804\uc1a1\ud569\ub2c8\ub2e4. GET, POST, PUT, DELETE \uba54\uc11c\ub4dc\ub97c \uc774\uc6a9\ud558\uc5ec \ub370\uc774\ud130\ub97c \uac00\uc838\uc624\uac70\ub098 \uc0dd\uc131, \uc218\uc815, \uc0ad\uc81c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uba54\uc11c\ub4dc\ub97c \uc774\uc6a9\ud558\uc5ec \ub370\uc774\ud130\ub97c \uc804\uc1a1\ud558\uae30 \ub54c\ubb38\uc5d0, RESTful API\ub294 \ub2e4\uc591\ud55c \ud074\ub77c\uc774\uc5b8\ud2b8\uc640 \uc11c\ubc84 \uac04\uc5d0 \ub370\uc774\ud130\ub97c \uacf5\uc720\ud558\uace0 \ud65c\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n
RESTful API\ub97c \uac1c\ubc1c\ud558\uae30 \uc704\ud574\uc11c\ub294 \uc2a4\ud504\ub9c1 \uc6f9 MVC \uad6c\uc131 \ubc29\ubc95\uacfc RESTful API \ud14c\uc2a4\ud2b8 \ubc29\ubc95\uc744 \uc54c\uc544\uc57c \ud569\ub2c8\ub2e4. \uc774\ubc88 \uae00\uc5d0\uc11c\ub294 \uc2a4\ud504\ub9c1 \uc6f9 MVC\ub97c \ud65c\uc6a9\ud55c RESTful API \uac1c\ubc1c \ubc0f \ud14c\uc2a4\ud2b8 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc54c\uc544\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n
<\/p>\n
\uc2a4\ud504\ub9c1 \uc6f9 MVC\ub294 \uc6f9 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158 \uac1c\ubc1c\uc744 \uc704\ud55c \ud504\ub808\uc784\uc6cc\ud06c\ub85c, RESTful API \uac1c\ubc1c\uc744 \uc704\ud55c \ub2e4\uc591\ud55c \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc2a4\ud504\ub9c1 \uc6f9 MVC\ub97c \uc774\uc6a9\ud558\uc5ec RESTful API\ub97c \uac1c\ubc1c\ud558\uae30 \uc704\ud574\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uad6c\uc131 \ubc29\ubc95\uc744 \ub530\ub974\uba74 \ub429\ub2c8\ub2e4.<\/p>\n
\uc2a4\ud504\ub9c1 \uc6f9 MVC\ub97c \uc774\uc6a9\ud558\uc5ec RESTful API\ub97c \uac1c\ubc1c\ud558\uae30 \uc704\ud574\uc11c\ub294 \uc2a4\ud504\ub9c1 \ud504\ub85c\uc81d\ud2b8\ub97c \uc0dd\uc131\ud574\uc57c \ud569\ub2c8\ub2e4. \uc2a4\ud504\ub9c1 \ud504\ub85c\uc81d\ud2b8\ub294 \uc2a4\ud504\ub9c1 \ubd80\ud2b8\ub97c \uc774\uc6a9\ud558\uc5ec \uc0dd\uc131\ud560 \uc218 \uc788\uc73c\uba70, \uc2a4\ud504\ub9c1 \ubd80\ud2b8\ub294 \uc2a4\ud504\ub9c1 \uc6f9 MVC\ub97c \ud3ec\ud568\ud55c \ub2e4\uc591\ud55c \uc2a4\ud504\ub9c1 \uae30\uc220\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d \uc9c0\uc6d0\ud569\ub2c8\ub2e4.<\/p>\n
\uc2a4\ud504\ub9c1 \uc6f9 MVC\ub97c \uc774\uc6a9\ud558\uc5ec RESTful API\ub97c \uac1c\ubc1c\ud558\uae30 \uc704\ud574\uc11c\ub294 \ucee8\ud2b8\ub864\ub7ec \ud074\ub798\uc2a4\ub97c \uc791\uc131\ud574\uc57c \ud569\ub2c8\ub2e4. \ucee8\ud2b8\ub864\ub7ec \ud074\ub798\uc2a4\ub294 RESTful API\uc758 \uc5d4\ub4dc\ud3ec\uc778\ud2b8\ub97c \uc815\uc758\ud558\uace0, HTTP \uc694\uccad\uc744 \ucc98\ub9ac\ud558\ub294 \uc5ed\ud560\uc744 \ud569\ub2c8\ub2e4.<\/p>\n
@RestController\n@RequestMapping(\"\/api\")\npublic class ApiController {\n\n @Autowired\n private UserService userService;\n\n @GetMapping(\"\/users\/{id}\")\n public User getUser(@PathVariable Long id) {\n return userService.getUserById(id);\n }\n\n @PostMapping(\"\/users\")\n public User createUser(@RequestBody User user) {\n return userService.createUser(user);\n }\n\n @PutMapping(\"\/users\/{id}\")\n public User updateUser(@PathVariable Long id, @RequestBody User user) {\n return userService.updateUser(id, user);\n }\n\n @DeleteMapping(\"\/users\/{id}\")\n public void deleteUser(@PathVariable Long id) {\n userService.deleteUser(id);\n }\n}<\/code><\/pre>\n\uc704 \ucf54\ub4dc\uc5d0\uc11c @RestController \uc5b4\ub178\ud14c\uc774\uc158\uc740 \ud574\ub2f9 \ud074\ub798\uc2a4\uac00 RESTful API\ub97c \ucc98\ub9ac\ud558\ub294 \ucee8\ud2b8\ub864\ub7ec\uc784\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4. @RequestMapping \uc5b4\ub178\ud14c\uc774\uc158\uc740 \uc5d4\ub4dc\ud3ec\uc778\ud2b8\uc758 \uacbd\ub85c\ub97c \uc9c0\uc815\ud569\ub2c8\ub2e4. GET, POST, PUT, DELETE \uba54\uc11c\ub4dc\ub97c \uc774\uc6a9\ud558\uc5ec \ub370\uc774\ud130\ub97c \uc804\uc1a1\ud558\uae30 \uc704\ud574\uc11c\ub294 \uac01\uac01 @GetMapping, @PostMapping, @PutMapping, @DeleteMapping \uc5b4\ub178\ud14c\uc774\uc158\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n
3. \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc5f0\ub3d9\ud558\uae30<\/h3>\n
RESTful API\uc5d0\uc11c\ub294 \uc8fc\ub85c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc640 \uc5f0\ub3d9\ud558\uc5ec \ub370\uc774\ud130\ub97c \uc800\uc7a5\ud558\uace0 \uad00\ub9ac\ud569\ub2c8\ub2e4. \uc2a4\ud504\ub9c1 \uc6f9 MVC\uc5d0\uc11c\ub294 JPA\ub97c \uc774\uc6a9\ud558\uc5ec \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc5f0\ub3d9\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. JPA\ub294 \uc790\ubc14 \uac1d\uccb4\ub97c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub808\ucf54\ub4dc\uc5d0 \ub9e4\ud551\ud558\uc5ec \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc640 \uc5f0\ub3d9\ud560 \uc218 \uc788\ub3c4\ub85d \uc9c0\uc6d0\ud569\ub2c8\ub2e4.<\/p>\n
4. \uc751\ub2f5 \ud3ec\ub9f7 \uc9c0\uc815\ud558\uae30<\/h3>\n
RESTful API\uc5d0\uc11c\ub294 \ud074\ub77c\uc774\uc5b8\ud2b8\uc640 \ub370\uc774\ud130\ub97c \uc8fc\uace0\ubc1b\uc744 \ub54c, JSON, XML \ub4f1\uc758 \ub370\uc774\ud130 \ud615\uc2dd\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc2a4\ud504\ub9c1 \uc6f9 MVC\uc5d0\uc11c\ub294 Jackson \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc774\uc6a9\ud558\uc5ec JSON \ud615\uc2dd\uc758 \ub370\uc774\ud130\ub97c \ucc98\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. Jackson \ub77c\uc774\ube0c\ub7ec\ub9ac\ub294 \uc790\ubc14 \uac1d\uccb4\ub97c JSON \ud615\uc2dd\uc73c\ub85c \ubcc0\ud658\ud558\uac70\ub098, JSON \ud615\uc2dd\uc758 \ub370\uc774\ud130\ub97c \uc790\ubc14 \uac1d\uccb4\ub85c \ubcc0\ud658\ud560 \uc218 \uc788\ub3c4\ub85d \uc9c0\uc6d0\ud569\ub2c8\ub2e4.<\/p>\n
\uc2a4\ud504\ub9c1 \uc6f9 MVC\ub85c RESTful API \ud14c\uc2a4\ud2b8\ud558\ub294 \ubc29\ubc95<\/h2>\n
\uc2a4\ud504\ub9c1 \uc6f9 MVC\ub85c \uac1c\ubc1c\ud55c RESTful API\ub97c \ud14c\uc2a4\ud2b8\ud558\uae30 \uc704\ud574\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \ubc29\ubc95\uc744 \ub530\ub974\uba74 \ub429\ub2c8\ub2e4.<\/p>\n
1. \uc2a4\ud504\ub9c1 \ubd80\ud2b8 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uc2e4\ud589\ud558\uae30<\/h3>\n
\uc2a4\ud504\ub9c1 \ubd80\ud2b8 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc2e4\ud589\ud558\uc5ec RESTful API\ub97c \ud14c\uc2a4\ud2b8\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc2a4\ud504\ub9c1 \ubd80\ud2b8 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc2e4\ud589\ud558\uba74, \ub0b4\uc7a5\ub41c \uc11c\ubc84\uac00 \uad6c\ub3d9\ub418\uc5b4 RESTful API\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n
2. HTTP \uc694\uccad \ubcf4\ub0b4\uae30<\/h3>\n
RESTful API\ub97c \ud14c\uc2a4\ud2b8\ud558\uae30 \uc704\ud574\uc11c\ub294 HTTP \uc694\uccad\uc744 \ubcf4\ub0b4\uc57c \ud569\ub2c8\ub2e4. HTTP \uc694\uccad\uc740 \ub2e4\uc74c\uacfc \uac19\uc740 \ud615\uc2dd\uc73c\ub85c \uad6c\uc131\ub429\ub2c8\ub2e4.<\/p>\n
HTTP \uba54\uc11c\ub4dc \uc5d4\ub4dc\ud3ec\uc778\ud2b8 \uacbd\ub85c HTTP \ud504\ub85c\ud1a0\ucf5c \ubc84\uc804\n\ud5e4\ub354\n\ubc14\ub514<\/code><\/pre>\nHTTP \uba54\uc11c\ub4dc\ub294 GET, POST, PUT, DELETE \ub4f1\uc758 \uba54\uc11c\ub4dc\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc73c\uba70, \uc5d4\ub4dc\ud3ec\uc778\ud2b8 \uacbd\ub85c\ub294 RESTful API\uc758 \uc5d4\ub4dc\ud3ec\uc778\ud2b8 \uacbd\ub85c\uc640 \uc77c\uce58\ud574\uc57c \ud569\ub2c8\ub2e4. HTTP \ud504\ub85c\ud1a0\ucf5c \ubc84\uc804\uc740 \uc77c\ubc18\uc801\uc73c\ub85c HTTP\/1.1\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n
3. HTTP \uc751\ub2f5 \ud655\uc778\ud558\uae30<\/h3>\n
HTTP \uc694\uccad\uc5d0 \ub300\ud55c \uc751\ub2f5\uc740 HTTP \uc0c1\ud0dc \ucf54\ub4dc\uc640 \ud568\uaed8 \uc804\uc1a1\ub429\ub2c8\ub2e4. HTTP \uc0c1\ud0dc \ucf54\ub4dc\ub294 \uc694\uccad\uc5d0 \ub300\ud55c \ucc98\ub9ac \uacb0\uacfc\ub97c \ub098\ud0c0\ub0b4\uba70, 200\ubc88\ub300\ub294 \uc131\uacf5, 400\ubc88\ub300\ub294 \ud074\ub77c\uc774\uc5b8\ud2b8 \uc624\ub958, 500\ubc88\ub300\ub294 \uc11c\ubc84 \uc624\ub958\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.<\/p>\n
HTTP \uc751\ub2f5\uc758 \ubc14\ub514\uc5d0\ub294 RESTful API\uc5d0\uc11c \ubc18\ud658\ud55c \ub370\uc774\ud130\uac00 \ud3ec\ud568\ub429\ub2c8\ub2e4. JSON \ud615\uc2dd\uc758 \ub370\uc774\ud130\ub97c \ubc18\ud658\ud558\ub294 RESTful API\uc758 \uacbd\uc6b0, JSON \ud615\uc2dd\uc73c\ub85c \ub370\uc774\ud130\uac00 \ubc18\ud658\ub429\ub2c8\ub2e4.<\/p>\n
RESTful API \uac1c\ubc1c \ubc0f \ud14c\uc2a4\ud2b8\uc5d0\uc11c \uace0\ub824\ud574\uc57c \ud560 \uc0ac\ud56d\ub4e4<\/h2>\n
RESTful API\ub97c \uac1c\ubc1c\ud558\uace0 \ud14c\uc2a4\ud2b8\ud560 \ub54c, \ub2e4\uc74c\uacfc \uac19\uc740 \uc0ac\ud56d\ub4e4\uc744 \uace0\ub824\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n
1. \uc5d4\ub4dc\ud3ec\uc778\ud2b8 \uacbd\ub85c\uc640 HTTP \uba54\uc11c\ub4dc\uc758 \uc77c\uad00\uc131 \uc720\uc9c0\ud558\uae30<\/h3>\n
RESTful API\uc5d0\uc11c\ub294 \uc5d4\ub4dc\ud3ec\uc778\ud2b8 \uacbd\ub85c\uc640 HTTP \uba54\uc11c\ub4dc\uac00 \uc77c\uad00\uc131 \uc788\uac8c \uc0ac\uc6a9\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4. \uc5d4\ub4dc\ud3ec\uc778\ud2b8 \uacbd\ub85c\uc640 HTTP \uba54\uc11c\ub4dc\uac00 \uc77c\uce58\ud558\uc9c0 \uc54a\uc73c\uba74, RESTful API\uc758 \ub514\uc790\uc778\uc774 \uc798\ubabb\ub41c \uac83\uc785\ub2c8\ub2e4.<\/p>\n
2. HTTP \uc694\uccad\uacfc \uc751\ub2f5\uc758 \ud3ec\ub9f7 \uc77c\uce58\uc2dc\ud0a4\uae30<\/h3>\n
HTTP \uc694\uccad\uacfc \uc751\ub2f5\uc758 \ud3ec\ub9f7\uc740 \uc77c\uce58\uc2dc\ucf1c\uc57c \ud569\ub2c8\ub2e4. \ub9cc\uc57d \uc11c\ubc84\uc5d0\uc11c JSON \ud615\uc2dd\uc758 \ub370\uc774\ud130\ub97c \ubc18\ud658\ud558\uace0, \ud074\ub77c\uc774\uc5b8\ud2b8\uc5d0\uc11c XML \ud615\uc2dd\uc758 \ub370\uc774\ud130\ub97c \uc694\uccad\ud55c\ub2e4\uba74, RESTful API\uc758 \ub514\uc790\uc778\uc774 \uc798\ubabb\ub41c \uac83\uc785\ub2c8\ub2e4.<\/p>\n
3. \ubcf4\uc548\uc131 \uace0\ub824\ud558\uae30<\/h3>\n
RESTful API\uc5d0\uc11c\ub294 \ub370\uc774\ud130\ub97c \uc8fc\uace0\ubc1b\uae30 \ub54c\ubb38\uc5d0, \ubcf4\uc548\uc131\uc744 \uace0\ub824\ud574\uc57c \ud569\ub2c8\ub2e4. \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc640\uc758 \uc5f0\ub3d9\uc5d0\uc11c \ubcf4\uc548\uc131\uc744 \uace0\ub824\ud558\uace0, HTTPS \ud504\ub85c\ud1a0\ucf5c\uc744 \uc0ac\uc6a9\ud558\uc5ec \ub370\uc774\ud130\ub97c \uc554\ud638\ud654\ud558\ub294 \ub4f1\uc758 \ubc29\ubc95\uc73c\ub85c \ubcf4\uc548\uc131\uc744 \uac15\ud654\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n
4. \uc5d0\ub7ec \ucc98\ub9ac\ud558\uae30<\/h3>\n
RESTful API\uc5d0\uc11c\ub294 \ud074\ub77c\uc774\uc5b8\ud2b8\uc640 \uc11c\ubc84 \uac04\uc758 \ud1b5\uc2e0\uc774 \uc911\uc694\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c \ud074\ub77c\uc774\uc5b8\ud2b8\uc640 \uc11c\ubc84 \uac04\uc758 \ud1b5\uc2e0 \uc5d0\ub7ec\ub97c \ucc98\ub9ac\ud558\ub294 \uac83\uc774 \ud544\uc694\ud569\ub2c8\ub2e4. \uc5d0\ub7ec \ucc98\ub9ac\ub97c \uc704\ud574\uc11c\ub294 HTTP \uc0c1\ud0dc \ucf54\ub4dc\ub97c \uc801\uc808\ud558\uac8c \ubc18\ud658\ud558\uace0, \uc5d0\ub7ec \uba54\uc2dc\uc9c0\ub97c \ud3ec\ud568\ud558\uc5ec \uc751\ub2f5\uc744 \ubc18\ud658\ud558\ub294 \uac83\uc774 \uc911\uc694\ud569\ub2c8\ub2e4.<\/p>\n
5. \uc131\ub2a5 \ucd5c\uc801\ud654\ud558\uae30<\/h3>\n
RESTful API\uc5d0\uc11c\ub294 \ub300\uc6a9\ub7c9 \ub370\uc774\ud130\ub97c \ucc98\ub9ac\ud558\uae30 \ub54c\ubb38\uc5d0, \uc131\ub2a5 \ucd5c\uc801\ud654\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. \uc131\ub2a5 \ucd5c\uc801\ud654\ub97c \uc704\ud574\uc11c\ub294 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc640\uc758 \uc5f0\ub3d9 \ubc29\uc2dd\uc744 \ucd5c\uc801\ud654\ud558\uace0, \uc801\uc808\ud55c \uce90\uc2f1\uc744 \uc801\uc6a9\ud558\ub294 \ub4f1\uc758 \ubc29\ubc95\uc73c\ub85c \uc131\ub2a5\uc744 \ud5a5\uc0c1\uc2dc\ud0ac \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n
\uacb0\ub860<\/h2>\n
\uc2a4\ud504\ub9c1 \uc6f9 MVC\ub97c \ud65c\uc6a9\ud558\uc5ec RESTful API\ub97c \uac1c\ubc1c\ud558\uace0 \ud14c\uc2a4\ud2b8\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc54c\uc544\ubcf4\uc558\uc2b5\ub2c8\ub2e4. RESTful API\ub294 HTTP \ud504\ub85c\ud1a0\ucf5c\uc744 \uc774\uc6a9\ud558\uc5ec \ub370\uc774\ud130\ub97c \uc804\uc1a1\ud558\ub294 \uc6f9 \uc11c\ube44\uc2a4\ub97c \uc758\ubbf8\ud558\uba70, \uc2a4\ud504\ub9c1 \uc6f9 MVC\ub97c \uc774\uc6a9\ud558\uc5ec \uac04\ub2e8\ud558\uac8c \uac1c\ubc1c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. RESTful API\ub97c \uac1c\ubc1c\ud560 \ub54c\uc5d0\ub294 \uc5d4\ub4dc\ud3ec\uc778\ud2b8 \uacbd\ub85c\uc640 HTTP \uba54\uc11c\ub4dc\uc758 \uc77c\uad00\uc131, HTTP \uc694\uccad\uacfc \uc751\ub2f5\uc758 \ud3ec\ub9f7 \uc77c\uce58, \ubcf4\uc548\uc131, \uc5d0\ub7ec \ucc98\ub9ac, \uc131\ub2a5 \ucd5c\uc801\ud654 \ub4f1\uc744 \uace0\ub824\ud574\uc57c \ud569\ub2c8\ub2e4. \uc2a4\ud504\ub9c1 \uc6f9 MVC\ub97c \uc774\uc6a9\ud558\uc5ec RESTful API\ub97c \uac1c\ubc1c\ud558\uace0 \ud14c\uc2a4\ud2b8\ud558\uba74, \ud6a8\uc728\uc801\uc774\uace0 \uc548\uc815\uc801\uc778 \uc6f9 \uc11c\ube44\uc2a4\ub97c \uad6c\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"
\uc2a4\ud504\ub9c1 \uc6f9 MVC\ub97c \ud65c\uc6a9\ud55c RESTful API \uac1c\ubc1c \ubc0f \ud14c\uc2a4\ud2b8 \ubc29\ubc95<\/p>\n","protected":false},"author":1,"featured_media":12882,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1957],"tags":[2119,5898,2105,2441,2188,2443,5932,471,2144,5979],"class_list":["post-35802","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development","tag-api","tag-backend","tag-java","tag-jpa","tag-public","tag-restful","tag-spring-boot","tag-state","tag-web","tag-5979"],"acf":[],"_links":{"self":[{"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/posts\/35802","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=35802"}],"version-history":[{"count":1,"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/posts\/35802\/revisions"}],"predecessor-version":[{"id":35911,"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/posts\/35802\/revisions\/35911"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/media\/12882"}],"wp:attachment":[{"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/media?parent=35802"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/categories?post=35802"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/tags?post=35802"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}