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 ]
							 |