1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
| from flask import Flask, request, jsonify
import ibm_db
app = Flask(__name__)
# Db2 connection string
conn_str = (
"DATABASE=mydb;"
"HOSTNAME=localhost;"
"PORT=50000;"
"PROTOCOL=TCPIP;"
"UID=db2inst1;"
"PWD=Passw0rd;"
)
# Connect to Db2
try:
conn = ibm_db.connect(conn_str, "", "")
except:
raise Exception("Could not connect to Db2")
# GET: Retrieve all customers
@app.route('/customers', methods=['GET'])
def get_customers():
customers = []
sql = "SELECT id, name, email FROM customers"
stmt = ibm_db.exec_immediate(conn, sql)
row = ibm_db.fetch_assoc(stmt)
while row:
customers.append(row)
row = ibm_db.fetch_assoc(stmt)
return jsonify(customers)
## POST: Add a new customer
@app.route('/customers', methods=['POST'])
def add_customer():
data = request.get_json()
sql = "INSERT INTO customers (id, name, email) VALUES (?, ?, ?)"
stmt = ibm_db.prepare(conn, sql)
try:
ibm_db.execute(stmt, (data['id'], data['name'], data['email']))
return jsonify({"message": "Customer added successfully"}), 201
except:
return jsonify({"error": "Insert failed"}), 500
if __name__ == '__main__':
app.run(debug=True)
|