hero put
This commit is contained in:
@ -12,12 +12,11 @@ HEROES = [
|
|||||||
|
|
||||||
|
|
||||||
def get_hero(id=None):
|
def get_hero(id=None):
|
||||||
if id:
|
try:
|
||||||
try:
|
hero = next(x for x in HEROES if x["id"] == id)
|
||||||
hero = next(x for x in HEROES if x["id"] == id)
|
return { "id": hero["id"], "name": hero["name"] }
|
||||||
return { "id": hero["id"], "name": hero["name"] }
|
except StopIteration:
|
||||||
except StopIteration:
|
return 'Hero not found', 404
|
||||||
return 'Hero not found', 404
|
|
||||||
|
|
||||||
|
|
||||||
def get_heroes():
|
def get_heroes():
|
||||||
@ -25,5 +24,19 @@ def get_heroes():
|
|||||||
return HEROES
|
return HEROES
|
||||||
else:
|
else:
|
||||||
return 'No heroes available', 404
|
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
|
||||||
|
@ -37,6 +37,28 @@ paths:
|
|||||||
$ref: '#/definitions/Hero'
|
$ref: '#/definitions/Hero'
|
||||||
404:
|
404:
|
||||||
description: Hero not found
|
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:
|
/heroes:
|
||||||
get:
|
get:
|
||||||
operationId: heroes.get_heroes
|
operationId: heroes.get_heroes
|
||||||
|
Reference in New Issue
Block a user