-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbasic.py
More file actions
58 lines (42 loc) · 1.49 KB
/
basic.py
File metadata and controls
58 lines (42 loc) · 1.49 KB
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
48
49
50
51
52
53
54
55
56
57
58
from flask import Flask, jsonify, request, render_template
app = Flask(__name__)
stores = [{"name": "MyStore", "items": [{"name": "item1", "price": "price1"}]}]
@app.route("/")
def home():
return render_template("index.html")
# Post /store date = {name:}
@app.route("/store", methods=["POST"])
def createStore():
requestData = request.get_json()
newStore = {"name": requestData["name"], "items": []}
stores.append(newStore)
return jsonify(newStore)
# Get /store/<string name>
@app.route("/store/<string:name>")
def getStore(name):
for store in stores:
if store["name"] == name:
return jsonify(store)
return jsonify({"message": "Not Found"})
# Get /store
@app.route("/store")
def getAllStore():
return jsonify({"stores": stores})
# Post /store/<string name>/item date ={name:,price:}
@app.route("/store/<string:name>/item", methods=["POST"])
def addItem(name):
requestData = request.get_json()
for store in stores:
if store["name"] == name:
newItem = {"name": requestData["name"], "price": requestData["price"]}
store["items"].append(newItem)
return jsonify(newItem)
return jsonify({"message": "Store not found"})
# Get /store/<string name>/item
@app.route("/store/<string:name>/item")
def getAllItems(name):
for store in stores:
if store["name"] == name:
return jsonify({"items": store["items"]})
return jsonify({"message": "Not Found"})
app.run(port=5000)