diff --git a/apistar/schemas/openapi.py b/apistar/schemas/openapi.py index 37b6dcab..cc06a136 100644 --- a/apistar/schemas/openapi.py +++ b/apistar/schemas/openapi.py @@ -454,9 +454,10 @@ def get_link( ] # TODO: Handle media type generically here... - body_schema = lookup( - operation_info, ["requestBody", "content", "application/json", "schema"] + body_definition = lookup( + operation_info, ["requestBody", "content", "application/json"] ) + body_schema = body_definition.get("schema") encoding = None if body_schema: @@ -473,7 +474,13 @@ def get_link( field_name = lookup( operation_info, ["requestBody", "x-name"], default=field_name ) - fields += [Field(name=field_name, location="body", schema=schema)] + fields += [ + Field( + name=field_name, location="body", schema=schema, + example=body_definition.get("example"), + examples=body_definition.get("examples") + ) + ] return Link( name=name,