🚀 First commit! Upload all files.
This commit is contained in:
commit
0c2ac869a4
5 changed files with 68 additions and 0 deletions
9
.chalice/config.json
Normal file
9
.chalice/config.json
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"version": "2.0",
|
||||||
|
"app_name": "crud-api-aws-chalice",
|
||||||
|
"stages": {
|
||||||
|
"dev": {
|
||||||
|
"api_gateway_stage": "api"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
.chalice/deployments/
|
||||||
|
.chalice/venv/
|
||||||
|
__pycache__
|
||||||
3
README.md
Normal file
3
README.md
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
# CRUD REST API using AWS Chalice
|
||||||
|
|
||||||
|
Details TBA.
|
||||||
52
app.py
Normal file
52
app.py
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
from chalice import Chalice
|
||||||
|
import json
|
||||||
|
|
||||||
|
app = Chalice(app_name='crud-api-aws-chalice')
|
||||||
|
|
||||||
|
USERS = {}
|
||||||
|
|
||||||
|
# Example user in USERS:
|
||||||
|
# {
|
||||||
|
# "some_username123": {
|
||||||
|
# "username": "some_username123",
|
||||||
|
# "age": 20
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
|
||||||
|
@app.route("/")
|
||||||
|
def index():
|
||||||
|
return {'hello': 'world'}
|
||||||
|
|
||||||
|
# CREATE (POST)
|
||||||
|
@app.route('/users', methods=['POST'])
|
||||||
|
def create_user():
|
||||||
|
user_as_json = app.current_request.json_body
|
||||||
|
USERS[user_as_json["username"]] = user_as_json
|
||||||
|
return user_as_json
|
||||||
|
|
||||||
|
# READ (GET)
|
||||||
|
@app.route("/users", methods=["GET"])
|
||||||
|
def read_users():
|
||||||
|
return json.dumps(USERS)
|
||||||
|
|
||||||
|
# READ (GET)
|
||||||
|
@app.route("/users/{username}", methods=["GET"])
|
||||||
|
def read_user(username):
|
||||||
|
if username and username in USERS:
|
||||||
|
return json.dumps(USERS[username])
|
||||||
|
return {"error": f"'{username}' is not an existing user."}
|
||||||
|
|
||||||
|
# UPDATE (PUT)
|
||||||
|
@app.route("/users", methods=["PUT"])
|
||||||
|
def update_user():
|
||||||
|
user_as_json = app.current_request.json_body
|
||||||
|
USERS[user_as_json["username"]] = user_as_json
|
||||||
|
return user_as_json
|
||||||
|
|
||||||
|
# DELETE (DELETE)
|
||||||
|
@app.route("/users", methods=["DELETE"])
|
||||||
|
def delete_user():
|
||||||
|
user_as_json = app.current_request.json_body
|
||||||
|
if user_as_json["username"] in USERS:
|
||||||
|
del USERS[user_as_json["username"]]
|
||||||
|
return user_as_json
|
||||||
1
requirements.txt
Normal file
1
requirements.txt
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
chalice
|
||||||
Loading…
Add table
Add a link
Reference in a new issue