This commit is contained in:
2021-01-14 17:29:17 +01:00
parent 6aec708c84
commit 521e916bbd
2 changed files with 42 additions and 7 deletions

View File

@ -12,12 +12,11 @@ HEROES = [
def get_hero(id=None):
if id:
try:
hero = next(x for x in HEROES if x["id"] == id)
return { "id": hero["id"], "name": hero["name"] }
except StopIteration:
return 'Hero not found', 404
try:
hero = next(x for x in HEROES if x["id"] == id)
return { "id": hero["id"], "name": hero["name"] }
except StopIteration:
return 'Hero not found', 404
def get_heroes():
@ -25,5 +24,19 @@ def get_heroes():
return HEROES
else:
return 'No heroes available', 404
def put_hero(id=None, hero=None):
if id:
# update
try:
heroToUpdate = next(x for x in HEROES if x["id"] == id)
heroToUpdate["name"] = hero["name"]
return 'Hero updated', 200
except StopIteration:
return 'Hero not found', 404
else:
# insert
newHeroId = len(HEROES)
hero["id"] = newHeroId
HEROES.append(hero)
return 'Hero inserted', 201

View File

@ -37,6 +37,28 @@ paths:
$ref: '#/definitions/Hero'
404:
description: Hero not found
put:
operationId: heroes.put_hero
summary: Insert or update a hero
parameters:
- name: id
in: query
type: integer
required: false
- name: hero
in: body
required: true
schema:
$ref: '#/definitions/Hero'
responses:
200:
description: Hero updated
201:
description: New hero created
403:
description: Some error
404:
description: Hero not found
/heroes:
get:
operationId: heroes.get_heroes