#6. Python์ผ๋ก API ๊ฐ๋ฐ(๋ฐ์ดํ๋ฒ ์ด์ค ๋ชจ๋ธ ์์ )
์ด์ ํฌ์คํ ์ ๋ฐ์ดํ๋ฒ ์ด์ค ๋ชจ๋ธ๋ง ์์ ์ ํ๊ณ , ์ฌ๊ธฐ์๋ server.py์ flask_restful์์ ์ ๊ณต๋๋
API Resource์ ์ถ๊ฐํด ๋ณด์.
โ server.py ( ์์น: linkservice/server/server.py)
----------------------------------------------------------------------------------------------------------
๊ธฐ์กด server.py ์ ์ถ๊ฐํด๋ณด์.
import socket
from config.create_app import create_app
from flask import Flask
#flask_restful์์ API์ src ๋ฐ์ links.py์ class๋ค์ import ํ๋ค.
from flask_restful import Api
from src.links import LinkRegister, LinksAll, LinkSelect, LinkRemove, LinkUpdate
from db_init import db
env = socket.gethostbyname(socket.gethostname())
if 'linkservice.com' in env :
app = create_app('production')
else:
app = create_app('development')
# print(app.config)
# API ์ ์ธ
api = Api(app)
#API์ Resource๋ฅผ ์ถ๊ฐํ๋ค.
api.add_resource(LinkRegister, '/api/link/create')
api.add_resource(LinksAll, '/api/links')
api.add_resource(LinkSelect, '/api/link/select/<int:id>')
api.add_resource(LinkRemove, '/api/link/delete/<int:id>')
api.add_resource(LinkUpdate, '/api/link/update/<int:id>')
if __name__ == "__main__":
# ORM
db.init_app(app)
app.run(debug=True, port=5000)
์ ์ฅ ํ ์ด์ ์คํํด์ ํ์ธํด๋ณด์.
โฎ์คํ๋ฐฉ๋ฒ
1. ํฐ๋ฏธ๋์์ ๊ฐ์ํ ์คํ ( source ./bin/activate )
2. python3 server.py ์คํ
3. POSTMAN์์ API ํ ์คํธ
์คํํ POSTMAN์์ ํ ์คํธ๋ฅผ ํด๋ณด์.
1.1. API ํ ์คํธ
โ๏ธ POST /api/link/create - ๋งํฌ์ ๋ณด ๋ฑ๋ก
Body์ JSON์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ ์งํํด๋ณด์.
message์ ์ ์์ ์ผ๋ก return ๋ฐ๋์ง ํ์ธํ๋ค.
โ๏ธ GET /api/links – ์ ์ฒด ๋งํฌ์ ๋ณด ์กฐํ
โ๏ธ GET /api/link/select/<int:id> - ID์ ํด๋นํ ๋งํฌ์ ๋ณด์กฐํ
โ๏ธ PUT /api/link/update/<int:id> - name์ ์์ ํด๋ณด์.
โ๏ธ DELETE /api/link/delete/<int:id> - ID์ ํด๋นํ ๋งํฌ์ ๋ณด ์ญ์
LINKS ํ ์ด๋ธ์ ๋ํ CRUD API๊ฐ ์์ฑ๋์๋ค.
์ฃผ์ ํ ์ด๋ธ์ธ LINKS์ CRUD API๊ฐ ์์ฑ๋์์ผ๋ฏ๋ก, ํ๋ก ํธ์๋์์ ์ค์ ํ๋ฉด์ ๊ตฌํ์ ํด๋ณด๊ณ , ์์ง๊น์ง DB๋ฐ API์ค๊ณ์ ๋น ์ง ๊ฒ์ ํ๋ฉด์ ๊ฐ๋ฐํ๋ฉด์ ์ถ๊ฐ์ ์ผ๋ก ์ ์ํด ๋ณด๊ธฐ๋ก ํ๋ค.
'React&Python์ผ๋ก ์น๊ฐ๋ฐ > ๋งํฌ์๋น์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
#8. ํ๋ก ํธ์๋ ํ๋ฉด๊ฐ๋ฐ (component ์ ์) (0) | 2023.03.17 |
---|---|
#7. ํ๋ก ํธ์๋ ํ๋ฉด ๊ฐ๋ฐ (0) | 2023.03.16 |
#6. Python์ผ๋ก API ๊ฐ๋ฐ(๋ฐ์ดํ๋ฒ ์ด์ค ๋ชจ๋ธ ์์ ) (0) | 2023.03.10 |
#5. Python์ผ๋ก API ๊ฐ๋ฐ(๊ธฐ๋ณธํ๊ฒฝ๊ตฌ์ฑ) (0) | 2023.03.09 |
#5. Python์ผ๋ก API ๊ฐ๋ฐ (0) | 2023.03.09 |