ok
This commit is contained in:
72
python_algorithms/RESTful/server.py
Normal file → Executable file
72
python_algorithms/RESTful/server.py
Normal file → Executable file
@@ -3,3 +3,75 @@ from flask_restful import Api, Resource, reqparse
|
||||
|
||||
app = Flask(__name__)
|
||||
api = Api(app)
|
||||
|
||||
users = [
|
||||
{
|
||||
"name": "Nicholas",
|
||||
"age": 42,
|
||||
"occupation": "Network Engineer"
|
||||
},
|
||||
{
|
||||
"name": "Elvin",
|
||||
"age": 32,
|
||||
"occupation": "Doctor"
|
||||
},
|
||||
{
|
||||
"name": "Jass",
|
||||
"age": 22,
|
||||
"occupation": "Web Developer"
|
||||
}
|
||||
]
|
||||
|
||||
class User(Resource):
|
||||
def get(self, name):
|
||||
for user in users:
|
||||
if(name == user["name"]):
|
||||
return user, 200
|
||||
return "User not found", 404
|
||||
|
||||
def post(self, name):
|
||||
parser = reqparse.RequestParser()
|
||||
parser.add_argument("age")
|
||||
parser.add_argument("occupation")
|
||||
args = parser.parse_args()
|
||||
|
||||
for user in users:
|
||||
if(name == user["name"]):
|
||||
return "User with name {} already exists".format(name), 400
|
||||
|
||||
user = {
|
||||
"name": name,
|
||||
"age": args["age"],
|
||||
"occupation": args["occupation"]
|
||||
}
|
||||
users.append(user)
|
||||
return user, 201
|
||||
|
||||
def put(self, name):
|
||||
parser = reqparse.RequestParser()
|
||||
parser.add_argument("age")
|
||||
parser.add_argument("occupation")
|
||||
args = parser.parse_args()
|
||||
|
||||
for user in users:
|
||||
if(name == user["name"]):
|
||||
user["age"] = args["age"]
|
||||
user["occupation"] = args["occupation"]
|
||||
return user, 200
|
||||
|
||||
user = {
|
||||
"name": name,
|
||||
"age": args["age"],
|
||||
"occupation": args["occupation"]
|
||||
}
|
||||
users.append(user)
|
||||
return user, 201
|
||||
|
||||
def delete(self, name):
|
||||
global users
|
||||
users = [user for user in users if user["name"] != name]
|
||||
return "{} is deleted.".format(name), 200
|
||||
|
||||
api.add_resource(User, "/user/<string:name>")
|
||||
|
||||
app.run(debug=True)
|
||||
|
||||
Reference in New Issue
Block a user