\ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uc544\ud0a4\ud14d\ucc98\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uc791\uc740 \ub3c5\ub9bd\uc801\uc778 \uc11c\ube44\uc2a4\ub85c \ubd84\ud574\ud558\ub294 \uc544\ud0a4\ud14d\ucc98 \ud328\ud134\uc785\ub2c8\ub2e4. \uc774 \ud328\ud134\uc740 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc2dc\uc2a4\ud15c\uc744 \uc791\uc740 \uc870\uac01\uc73c\ub85c \ub098\ub204\uc5b4 \uac01 \uc870\uac01\uc774 \ub3c5\ub9bd\uc801\uc73c\ub85c \uac1c\ubc1c, \ubc30\ud3ec, \uc5c5\ub370\uc774\ud2b8, \ud655\uc7a5 \ubc0f \uc720\uc9c0\ubcf4\uc218\ud560 \uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4. \uc774 \uc544\ud0a4\ud14d\ucc98\ub294 \uae30\uc5c5\uc758 \ubbfc\ucca9\uc131\uacfc \uac1c\ubc1c \ud6a8\uc728\uc131\uc744 \ub192\uc774\ub294 \ub370 \ub9e4\uc6b0 \ud6a8\uacfc\uc801\uc785\ub2c8\ub2e4.<\/p>\n
\ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uc544\ud0a4\ud14d\ucc98\ub294 \uac01\uac01\uc758 \uc11c\ube44\uc2a4\uac00 \ub3c5\ub9bd\uc801\uc73c\ub85c \uc2e4\ud589\ub420 \uc218 \uc788\ub3c4\ub85d \uc124\uacc4\ub418\uc5b4 \uc788\uc73c\uba70, \uc774\ub7ec\ud55c \uc11c\ube44\uc2a4\ub294 \ub2e4\ub978 \uc11c\ube44\uc2a4\uc640 \uc0c1\ud638\uc791\uc6a9\ud558\uae30 \uc704\ud574 API\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc774 \uc544\ud0a4\ud14d\ucc98 \ud328\ud134\uc740 \uae30\ub2a5\uacfc \ube44\uc988\ub2c8\uc2a4 \ub85c\uc9c1\uc5d0 \ub530\ub77c \uc11c\ube44\uc2a4\ub97c \ubd84\ud574\ud569\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574 \uc11c\ube44\uc2a4\ub97c \ub354 \uc791\uace0 \uc720\uc5f0\ud558\uac8c \ub9cc\ub4e4\uc5b4 \uc11c\ube44\uc2a4 \uac04\uc758 \uacb0\ud569\ub3c4\ub97c \ub0ae\ucd94\uace0, \ub354\uc6b1 \ub192\uc740 \ud655\uc7a5\uc131\uacfc \uc720\uc9c0\ubcf4\uc218\uc131\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n
\ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uc544\ud0a4\ud14d\ucc98\uc5d0\uc11c\ub294 \ubc31\uc5d4\ub4dc \uc11c\ube44\uc2a4\ub97c \ubd84\ud574\ud558\ub294 \uac83\uc774 \ub9e4\uc6b0 \uc911\uc694\ud569\ub2c8\ub2e4. \ubc31\uc5d4\ub4dc \uc11c\ube44\uc2a4\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \ub370\uc774\ud130 \ucc98\ub9ac, \ub370\uc774\ud130 \uc800\uc7a5, \uc778\uc99d \ubc0f \uad8c\ud55c \ubd80\uc5ec \ub4f1\uacfc \uac19\uc740 \ubc31\uc5d4\ub4dc \ub85c\uc9c1\uc744 \ucc98\ub9ac\ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc11c\ube44\uc2a4\ub294 \ub85c\uc9c1\uc774 \ubcf5\uc7a1\ud558\uace0 \ubcc0\uacbd\ud558\uae30 \uc5b4\ub824\uc6b0\uba70, \ub300\uccb4\ub85c \ud558\ub098\uc758 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uc5ec\ub7ec \uae30\ub2a5\uc744 \ucc98\ub9ac\ud569\ub2c8\ub2e4.<\/p>\n
\ud558\uc9c0\ub9cc, \uc774\ub7ec\ud55c \ubc29\uc2dd\uc740 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc720\uc5f0\uc131\uacfc \ud655\uc7a5\uc131\uc744 \uc81c\ud55c\ud569\ub2c8\ub2e4. \ub354 \ubcf5\uc7a1\ud55c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc740 \ub354 \ub9ce\uc740 \ub9ac\uc18c\uc2a4\uc640 \ubcf5\uc7a1\ud55c \ucf54\ub4dc\ub97c \ud544\uc694\ub85c \ud558\uba70, \uc774\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc720\uc9c0\ubcf4\uc218\uc640 \ud655\uc7a5\uc131\uc744 \uc81c\ud55c\ud569\ub2c8\ub2e4.<\/p>\n
\ub530\ub77c\uc11c, \ubc31\uc5d4\ub4dc \uc11c\ube44\uc2a4\ub97c \ubd84\ud574\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574 \uac01 \uc11c\ube44\uc2a4\ub294 \ub3c5\ub9bd\uc801\uc73c\ub85c \uc2e4\ud589\ub420 \uc218 \uc788\uc73c\uba70, \ud544\uc694\uc5d0 \ub530\ub77c \ub354 \ub9ce\uc740 \ub9ac\uc18c\uc2a4\ub97c \ud560\ub2f9\ud574 \ud655\uc7a5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c, \uc11c\ube44\uc2a4 \uac04\uc758 \uacb0\ud569\ub3c4\ub97c \ub0ae\ucd94\uc5b4 \uc11c\ube44\uc2a4 \uac04\uc758 \ubcc0\uacbd \uc0ac\ud56d\uc774 \ub2e4\ub978 \uc11c\ube44\uc2a4\uc5d0 \uc601\ud5a5\uc744 \ubbf8\uce58\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n
\ubc31\uc5d4\ub4dc \uc11c\ube44\uc2a4\ub97c \ubd84\ud574\ud558\uae30 \uc704\ud55c \uc804\ub7b5\uc740 \uac01 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc694\uad6c\uc0ac\ud56d\uc5d0 \ub530\ub77c \ub2ec\ub77c\uc9d1\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c \ubc31\uc5d4\ub4dc \uc11c\ube44\uc2a4 \ubd84\ud574 \uc804\ub7b5\uc740 \ub2e4\uc74c\uacfc \uac19\uc740 \ub2e8\uacc4\ub97c \ub530\ub985\ub2c8\ub2e4.<\/p>\n
\ube44\uc988\ub2c8\uc2a4 \ub85c\uc9c1 \ubd84\uc11d\uc740 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \ucc98\ub9ac\ud558\ub294 \uc791\uc5c5\uacfc \ud574\ub2f9 \uc791\uc5c5\uc744 \uc218\ud589\ud558\ub294 \uc11c\ube44\uc2a4\ub97c \uc2dd\ubcc4\ud558\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uc774 \ub2e8\uacc4\uc5d0\uc11c\ub294 \uc11c\ube44\uc2a4 \uac04\uc758 \uc885\uc18d\uc131\uacfc \uacb0\ud569\ub3c4\ub97c \uc2dd\ubcc4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n
\uc11c\ube44\uc2a4 \ubd84\ud574\ub294 \ube44\uc988\ub2c8\uc2a4 \ub85c\uc9c1 \ubd84\uc11d\uc744 \uae30\ubc18\uc73c\ub85c \uc11c\ube44\uc2a4\ub97c \ubd84\ud574\ud558\ub294 \ub2e8\uacc4\uc785\ub2c8\ub2e4. \uc774 \ub2e8\uacc4\uc5d0\uc11c\ub294 \uac01 \uc11c\ube44\uc2a4\uac00 \uc5b4\ub5a4 \uc791\uc5c5\uc744 \uc218\ud589\ud558\ub294\uc9c0 \uacb0\uc815\ud558\uace0, \uac01 \uc11c\ube44\uc2a4\uc758 API\ub97c \uc124\uacc4\ud569\ub2c8\ub2e4.<\/p>\n
\ub370\uc774\ud130 \ubd84\ub9ac\ub294 \uac01 \uc11c\ube44\uc2a4\uac00 \uc0ac\uc6a9\ud558\ub294 \ub370\uc774\ud130\ub97c \ubd84\ub9ac\ud558\ub294 \ub2e8\uacc4\uc785\ub2c8\ub2e4. \uc774 \ub2e8\uacc4\uc5d0\uc11c\ub294 \ub370\uc774\ud130 \ubaa8\ub378\uc744 \uc815\uc758\ud558\uace0, \uac01 \uc11c\ube44\uc2a4\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \ub370\uc774\ud130\ub97c \uc2dd\ubcc4\ud569\ub2c8\ub2e4.<\/p>\n
\uc778\ud504\ub77c \ubd84\ub9ac\ub294 \uac01 \uc11c\ube44\uc2a4\ub97c \uc2e4\ud589\ud558\uae30 \uc704\ud574 \ud544\uc694\ud55c \uc778\ud504\ub77c\ub97c \ubd84\ub9ac\ud558\ub294 \ub2e8\uacc4\uc785\ub2c8\ub2e4. \uc774 \ub2e8\uacc4\uc5d0\uc11c\ub294 \uac01 \uc11c\ube44\uc2a4\ub97c \uc2e4\ud589\ud558\uae30 \uc704\ud574 \ud544\uc694\ud55c \ub9ac\uc18c\uc2a4\ub97c \uc2dd\ubcc4\ud558\uace0, \uc11c\ube44\uc2a4\ub97c \ubc30\ud3ec\ud558\uae30 \uc704\ud55c \uc778\ud504\ub77c\ub97c \uad6c\uc131\ud569\ub2c8\ub2e4.<\/p>\n
\ud1b5\uc2e0 \uad6c\uc131\uc740 \uac01 \uc11c\ube44\uc2a4 \uac04\uc758 \ud1b5\uc2e0\uc744 \uad6c\uc131\ud558\ub294 \ub2e8\uacc4\uc785\ub2c8\ub2e4. \uc774 \ub2e8\uacc4\uc5d0\uc11c\ub294 \uac01 \uc11c\ube44\uc2a4\uc758 API\ub97c \uc124\uacc4\ud558\uace0, \uc11c\ube44\uc2a4 \uac04\uc758 \ud1b5\uc2e0\uc744 \uc704\ud55c \ud504\ub85c\ud1a0\ucf5c\uc744 \uc120\ud0dd\ud569\ub2c8\ub2e4.<\/p>\n
\ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uc544\ud0a4\ud14d\ucc98\uc5d0\uc11c \ubc31\uc5d4\ub4dc \uc11c\ube44\uc2a4\ub97c \ubd84\ud574\ud558\ub294 \uad6c\ud604 \ubc29\ubc95\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n
\uc11c\ube44\uc2a4 \ubd84\ud574\ub294 \uac01 \uc11c\ube44\uc2a4\ub97c \ub3c5\ub9bd\uc801\uc73c\ub85c \uc2e4\ud589\ud560 \uc218 \uc788\ub3c4\ub85d \ubd84\ud574\ud558\ub294 \uacfc\uc815\uc785\ub2c8\ub2e4. \uc774 \ub2e8\uacc4\uc5d0\uc11c\ub294 \uac01 \uc11c\ube44\uc2a4\uac00 \uc218\ud589\ud558\ub294 \uc791\uc5c5\uc744 \uc2dd\ubcc4\ud558\uace0, \uac01 \uc11c\ube44\uc2a4\uc758 API\ub97c \uc124\uacc4\ud569\ub2c8\ub2e4.<\/p>\n
# \uc608\uc2dc\nfrom flask import Flask\napp = Flask(__name__)\n\n@app.route('\/user')\ndef get_user():\n return \"User information\"\n\n@app.route('\/order')\ndef get_order():\n return \"Order information\"<\/code><\/pre>\n\uc704\uc758 \ucf54\ub4dc\ub294 Flask \uc6f9 \ud504\ub808\uc784\uc6cc\ud06c\ub97c \uc0ac\uc6a9\ud558\ub294 \uac04\ub2e8\ud55c \uc608\uc2dc\uc785\ub2c8\ub2e4. ‘\/user’\uc640 ‘\/order’\ub294 \uac01\uac01 \uc0ac\uc6a9\uc790 \uc815\ubcf4\uc640 \uc8fc\ubb38 \uc815\ubcf4\ub97c \ubc18\ud658\ud558\ub294 API \uc5d4\ub4dc\ud3ec\uc778\ud2b8\uc785\ub2c8\ub2e4.<\/p>\n
2. \ub370\uc774\ud130 \ubd84\ub9ac<\/h3>\n
\ub370\uc774\ud130 \ubd84\ub9ac\ub294 \uac01 \uc11c\ube44\uc2a4\uac00 \uc0ac\uc6a9\ud558\ub294 \ub370\uc774\ud130\ub97c \ubd84\ub9ac\ud558\ub294 \uacfc\uc815\uc785\ub2c8\ub2e4. \uc774 \ub2e8\uacc4\uc5d0\uc11c\ub294 \ub370\uc774\ud130 \ubaa8\ub378\uc744 \uc815\uc758\ud558\uace0, \uac01 \uc11c\ube44\uc2a4\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \ub370\uc774\ud130\ub97c \uc2dd\ubcc4\ud569\ub2c8\ub2e4.<\/p>\n
# \uc608\uc2dc\n# user.py\nclass User:\n def __init__(self, id, name, email, password):\n self.id = id\n self.name = name\n self.email = email\n self.password = password\n\n# order.py\nclass Order:\n def __init__(self, id, user_id, status):\n self.id = id\n self.user_id = user_id\n self.status = status<\/code><\/pre>\n\uc704\uc758 \ucf54\ub4dc\ub294 \uc11c\ube44\uc2a4 \uac04\uc758 \ub370\uc774\ud130 \ubaa8\ub378\uc744 \uc815\uc758\ud558\ub294 \uc608\uc2dc\uc785\ub2c8\ub2e4. ‘User’ \ud074\ub798\uc2a4\uc640 ‘Order’ \ud074\ub798\uc2a4\ub294 \uac01\uac01 \uc0ac\uc6a9\uc790 \uc815\ubcf4\uc640 \uc8fc\ubb38 \uc815\ubcf4\ub97c \ub098\ud0c0\ub0b4\uba70, \uc774\ub7ec\ud55c \ud074\ub798\uc2a4\ub97c \uc0ac\uc6a9\ud558\uc5ec \uac01 \uc11c\ube44\uc2a4\uc5d0\uc11c \ub370\uc774\ud130\ub97c \ucc98\ub9ac\ud569\ub2c8\ub2e4.<\/p>\n
3. \uc778\ud504\ub77c \ubd84\ub9ac<\/h3>\n
\uc778\ud504\ub77c \ubd84\ub9ac\ub294 \uac01 \uc11c\ube44\uc2a4\ub97c \uc2e4\ud589\ud558\uae30 \uc704\ud574 \ud544\uc694\ud55c \uc778\ud504\ub77c\ub97c \ubd84\ub9ac\ud558\ub294 \uacfc\uc815\uc785\ub2c8\ub2e4. \uc774 \ub2e8\uacc4\uc5d0\uc11c\ub294 \uac01 \uc11c\ube44\uc2a4\ub97c \uc2e4\ud589\ud558\uae30 \uc704\ud574 \ud544\uc694\ud55c \ub9ac\uc18c\uc2a4\ub97c \uc2dd\ubcc4\ud558\uace0, \uc11c\ube44\uc2a4\ub97c \ubc30\ud3ec\ud558\uae30 \uc704\ud55c \uc778\ud504\ub77c\ub97c \uad6c\uc131\ud569\ub2c8\ub2e4.<\/p>\n
# \uc608\uc2dc\n# docker-compose.yml\nversion: '3'\nservices:\n user:\n build: .\/user\n ports:\n - \"8000:8000\"\n order:\n build: .\/order\n ports:\n - \"8001:8001\"<\/code><\/pre>\n\uc704\uc758 \ucf54\ub4dc\ub294 Docker Compose\ub97c \uc0ac\uc6a9\ud558\uc5ec \uac01 \uc11c\ube44\uc2a4\ub97c \ubc30\ud3ec\ud558\ub294 \uc608\uc2dc\uc785\ub2c8\ub2e4. ‘user’\uc640 ‘order’\ub294 \uac01\uac01 \uc0ac\uc6a9\uc790 \uc815\ubcf4\uc640 \uc8fc\ubb38 \uc815\ubcf4\ub97c \ucc98\ub9ac\ud558\ub294 \uc11c\ube44\uc2a4\uc774\uba70, \uac01\uac01 8000\ubc88 \ud3ec\ud2b8\uc640 8001\ubc88 \ud3ec\ud2b8\uc5d0\uc11c \uc2e4\ud589\ub429\ub2c8\ub2e4.<\/p>\n
4. \ud1b5\uc2e0 \uad6c\uc131<\/h3>\n
\ud1b5\uc2e0 \uad6c\uc131\uc740 \uac01 \uc11c\ube44\uc2a4 \uac04\uc758 \ud1b5\uc2e0\uc744 \uad6c\uc131\ud558\ub294 \uacfc\uc815\uc785\ub2c8\ub2e4. \uc774 \ub2e8\uacc4\uc5d0\uc11c\ub294 \uac01 \uc11c\ube44\uc2a4\uc758 API\ub97c \uc124\uacc4\ud558\uace0, \uc11c\ube44\uc2a4 \uac04\uc758 \ud1b5\uc2e0\uc744 \uc704\ud55c \ud504\ub85c\ud1a0\ucf5c\uc744 \uc120\ud0dd\ud569\ub2c8\ub2e4.<\/p>\n
# \uc608\uc2dc\n# user.py\nfrom flask import Flask, jsonify\nfrom order import get_order\n\napp = Flask(__name__)\n\n@app.route('\/user')\ndef get_user():\n order = get_order()\n user = {\n 'id': 1,\n 'name': 'John',\n 'email': 'john@example.com'\n }\n return jsonify({'user': user, 'order': order})\n\nif __name__ == '__main__':\n app.run(port=8000)\n\n# order.py\nimport requests\n\ndef get_order():\n response = requests.get('http:\/\/localhost:8001\/order')\n return response.json()['order']<\/code><\/pre>\n\uc704\uc758 \ucf54\ub4dc\ub294 \uac01 \uc11c\ube44\uc2a4 \uac04\uc758 \ud1b5\uc2e0\uc744 \uad6c\uc131\ud558\ub294 \uc608\uc2dc\uc785\ub2c8\ub2e4. ‘user’ \uc11c\ube44\uc2a4\uc5d0\uc11c\ub294 ‘order’ \uc11c\ube44\uc2a4\uc758 API\ub97c \ud638\ucd9c\ud558\uc5ec \uc8fc\ubb38 \uc815\ubcf4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4. \uc774\ub97c \uc704\ud574 ‘requests’ \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"
\ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uc544\ud0a4\ud14d\ucc98\uc5d0\uc11c \ubc31\uc5d4\ub4dc \uc11c\ube44\uc2a4 \ubd84\ud574\uc758 \uc911\uc694\uc131\uacfc \uc804\ub7b5\uc801 \ubc29\ubc95\ub860\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubcf4\uc790.<\/p>\n","protected":false},"author":1,"featured_media":33704,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1957],"tags":[2119,2076,2805,2444,2580,6196,3414],"class_list":["post-39513","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development","tag-api","tag-from","tag-order","tag-services","tag-user","tag-6196","tag-3414"],"acf":[],"_links":{"self":[{"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/posts\/39513","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=39513"}],"version-history":[{"count":1,"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/posts\/39513\/revisions"}],"predecessor-version":[{"id":39688,"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/posts\/39513\/revisions\/39688"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/media\/33704"}],"wp:attachment":[{"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/media?parent=39513"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/categories?post=39513"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/m9js.shop\/blog\/wp-json\/wp\/v2\/tags?post=39513"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}