101 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#%RAML 1.0
 | 
						|
title: Baeldung Foo REST Services API
 | 
						|
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
 | 
						|
  Error: !include types/Error.raml
 | 
						|
/foos:
 | 
						|
  get:
 | 
						|
    description: List all Foos matching query criteria, if provided;
 | 
						|
                 otherwise list all Foos
 | 
						|
    queryParameters:
 | 
						|
      name?: string
 | 
						|
      ownerName?: string
 | 
						|
    responses:
 | 
						|
      200:
 | 
						|
        body:
 | 
						|
          application/json:
 | 
						|
            type: Foo[]
 | 
						|
            example: !include examples/Foos.json
 | 
						|
  post:
 | 
						|
    description: Create a new Foo
 | 
						|
    body:
 | 
						|
      application/json:
 | 
						|
        type: Foo
 | 
						|
        example: !include examples/Foo.json
 | 
						|
    responses:
 | 
						|
      201:
 | 
						|
        body:
 | 
						|
          application/json:
 | 
						|
            type: Foo
 | 
						|
            example: !include examples/Foo.json
 | 
						|
  /{id}:
 | 
						|
    get:
 | 
						|
      description: Get a Foo by id
 | 
						|
      responses:
 | 
						|
        200:
 | 
						|
          body:
 | 
						|
            application/json:
 | 
						|
              type: Foo
 | 
						|
              example: !include examples/Foo.json
 | 
						|
        404:
 | 
						|
          body:
 | 
						|
            application/json:
 | 
						|
              type: Error
 | 
						|
              example: !include examples/Error.json
 | 
						|
    put:
 | 
						|
      description: Update a Foo by id
 | 
						|
      body:
 | 
						|
        application/json:
 | 
						|
          type: Foo
 | 
						|
          example: !include examples/Foo.json
 | 
						|
      responses:
 | 
						|
        200:
 | 
						|
          body:
 | 
						|
            application/json:
 | 
						|
              type: Foo
 | 
						|
              example: !include examples/Foo.json
 | 
						|
        404:
 | 
						|
          body:
 | 
						|
            application/json:
 | 
						|
              type: Error
 | 
						|
              example: !include examples/Error.json
 | 
						|
    delete:
 | 
						|
      description: Delete a Foo by id
 | 
						|
      responses:
 | 
						|
        204:
 | 
						|
        404:
 | 
						|
          body:
 | 
						|
            application/json:
 | 
						|
              type: Error
 | 
						|
              example: !include examples/Error.json
 | 
						|
  /name/{name}:
 | 
						|
    get:
 | 
						|
      description: List all Foos with a certain name
 | 
						|
      responses:
 | 
						|
        200:
 | 
						|
          body:
 | 
						|
            application/json:
 | 
						|
              type: Foo[]
 | 
						|
              example: !include examples/Foos.json |