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 |