* JAVA-14176 Rename raml to raml-modules * JAVA-14176 Remove failing module * JAVA-14176 Revert commenting spring-cloud-openfeign-2 module
		
			
				
	
	
		
			119 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			119 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#%RAML 1.0
 | 
						|
title: API for REST Services used in the RAML tutorials on Baeldung.com
 | 
						|
documentation:
 | 
						|
  - title: Overview
 | 
						|
  - content: |
 | 
						|
      This document defines the interface for the REST services
 | 
						|
      used in the popular RAML Tutorial series at Baeldung.com.
 | 
						|
  - title: Disclaimer:
 | 
						|
  - content: |
 | 
						|
      All names used in this definition are purely fictional.
 | 
						|
      Any similarities between the names used in this tutorial and those of real persons, whether living or dead, are merely coincidental.
 | 
						|
  - title: Copyright
 | 
						|
  - content: Copyright 2016 by Baeldung.com. All rights reserved.
 | 
						|
version: v1
 | 
						|
protocols: [ HTTPS ]
 | 
						|
baseUri: http://rest-api.baeldung.com/api/{version}
 | 
						|
mediaType: application/json
 | 
						|
securedBy: basicAuth
 | 
						|
securitySchemes:
 | 
						|
  - basicAuth:
 | 
						|
      description: Each request must contain the headers necessary for
 | 
						|
                   basic authentication
 | 
						|
      type: Basic Authentication
 | 
						|
      describedBy:
 | 
						|
        headers:
 | 
						|
          Authorization:
 | 
						|
            description: |
 | 
						|
              Used to send the Base64 encoded "username:password"
 | 
						|
              credentials
 | 
						|
            type: string
 | 
						|
        responses:
 | 
						|
          401:
 | 
						|
            description: |
 | 
						|
              Unauthorized. Either the provided username and password
 | 
						|
              combination is invalid, or the user is not allowed to
 | 
						|
              access the content provided by the requested URL.
 | 
						|
types:
 | 
						|
  Foo:   !include types/Foo.raml
 | 
						|
  Bar:   !include types/Bar.raml
 | 
						|
  Error: !include types/Error.raml
 | 
						|
resourceTypes:
 | 
						|
  - collection:
 | 
						|
      usage: Use this resourceType to represent a collection of items
 | 
						|
      description: A collection of <<resourcePathName|!uppercamelcase>>
 | 
						|
      get:
 | 
						|
        description: |
 | 
						|
          Get all <<resourcePathName|!uppercamelcase>>,
 | 
						|
          optionally filtered
 | 
						|
        is: [ hasResponseCollection ]
 | 
						|
      post:
 | 
						|
        description: |
 | 
						|
          Create a new <<resourcePathName|!uppercamelcase|!singularize>>
 | 
						|
        is: [ hasRequestItem ]
 | 
						|
  - item:
 | 
						|
      usage: Use this resourceType to represent any single item
 | 
						|
      description: A single <<typeName>>
 | 
						|
      get:
 | 
						|
        description: Get a <<typeName>> by <<resourcePathName>>
 | 
						|
        is: [ hasResponseItem, hasNotFound ]
 | 
						|
      put:
 | 
						|
        description: Update a <<typeName>> by <<resourcePathName>>
 | 
						|
        is: [ hasRequestItem, hasResponseItem, hasNotFound ]
 | 
						|
      delete:
 | 
						|
        description: Delete a <<typeName>> by <<resourcePathName>>
 | 
						|
        is: [ hasNotFound ]
 | 
						|
        responses:
 | 
						|
          204:
 | 
						|
traits:
 | 
						|
  - hasRequestItem:
 | 
						|
      body:
 | 
						|
        application/json:
 | 
						|
          type: <<typeName>>
 | 
						|
  - hasResponseItem:
 | 
						|
      responses:
 | 
						|
          200:
 | 
						|
            body:
 | 
						|
              application/json:
 | 
						|
                type: <<typeName>>
 | 
						|
                example: !include examples/<<typeName>>.json
 | 
						|
  - hasResponseCollection:
 | 
						|
      responses:
 | 
						|
          200:
 | 
						|
            body:
 | 
						|
              application/json:
 | 
						|
                type: <<typeName>>[]
 | 
						|
                example: !include examples/<<typeName|!pluralize>>.json
 | 
						|
  - hasNotFound:
 | 
						|
      responses:
 | 
						|
          404:
 | 
						|
            body:
 | 
						|
              application/json:
 | 
						|
                type: Error
 | 
						|
                example: !include examples/Error.json
 | 
						|
/foos:
 | 
						|
  type: collection
 | 
						|
  typeName: Foo
 | 
						|
  get:
 | 
						|
    queryParameters:
 | 
						|
      name?: string
 | 
						|
      ownerName?: string
 | 
						|
  /{fooId}:
 | 
						|
    type: item
 | 
						|
    typeName: Foo
 | 
						|
  /name/{name}:
 | 
						|
    get:
 | 
						|
      description: List all foos with a certain name
 | 
						|
      typeName: Foo
 | 
						|
      is: [ hasResponseCollection ]
 | 
						|
/bars:
 | 
						|
  type: collection
 | 
						|
  typeName: Bar
 | 
						|
  /{barId}:
 | 
						|
    type: item
 | 
						|
    typeName: Bar
 | 
						|
  /fooId/{fooId}:
 | 
						|
    get:
 | 
						|
      description: Get all bars for the matching fooId
 | 
						|
      typeName: Bar
 | 
						|
      is: [ hasResponseCollection ] |