-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathapi.py
More file actions
49 lines (37 loc) · 1.59 KB
/
api.py
File metadata and controls
49 lines (37 loc) · 1.59 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
from movies import *
# route to get all movies
@app.route('/movies', methods=['GET'])
def get_movies():
'''Function to get all the movies in the database'''
return jsonify({'Movies': Movie.get_all_movies()})
# route to get movie by id
@app.route('/movies/<int:id>', methods=['GET'])
def get_movie_by_id(id):
return_value = Movie.get_movie(id)
return jsonify(return_value)
# route to add new movie
@app.route('/movies', methods=['POST'])
def add_movie():
'''Function to add new movie to our database'''
request_data = request.get_json() # getting data from client
Movie.add_movie(request_data["title"], request_data["year"],
request_data["genre"])
response = Response("Movie added", 201, mimetype='application/json')
return response
# route to update movie with PUT method
@app.route('/movies/<int:id>', methods=['PUT'])
def update_movie(id):
'''Function to edit movie in our database using movie id'''
request_data = request.get_json()
Movie.update_movie(id, request_data['title'], request_data['year'], request_data['genre'])
response = Response("Movie Updated", status=200, mimetype='application/json')
return response
# route to delete movie using the DELETE method
@app.route('/movies/<int:id>', methods=['DELETE'])
def remove_movie(id):
'''Function to delete movie from our database'''
Movie.delete_movie(id)
response = Response("Movie Deleted", status=200, mimetype='application/json')
return response
if __name__ == "__main__":
app.run(port=1234, debug=True)