#%RAML 1.0 Library
# This is the file /libraries/traits.raml
usage: This library defines some basic traits
traits:
  hasRequestItem:
    usage: Use this trait for resources whose request body is a single item
    body:
      application/json:
        type: <<typeName>>
  hasResponseItem:
    usage: Use this trait for resources whose response body is a single item
    responses:
        200:
          body:
            application/json:
              type: <<typeName>>
              example: !include /examples/<<typeName>>.json
  hasResponseCollection:
    usage: Use this trait for resources whose response body is a collection of items
    responses:
        200:
          body:
            application/json:
              type: <<typeName>>[]
              example: !include /examples/<<typeName|!pluralize>>.json
  hasNotFound:
    usage: Use this trait for resources that could respond with a 404 status
    responses:
        404:
          body:
            application/json:
              type: Error
              example: !include /examples/Error.json