Overlays in RAML | Overlays in Mule 4
A resource type, like a resource, can specify security schemes, methods, and other nodes. A resource that uses a resource type inherits its nodes. A resource type can also use, and thus inherit from, another resource type. Resource types and resources are related through an inheritance chain pattern. A resource type definition MUST NOT incorporate nested resources. A resource type definition cannot be used to generate nested resources when the definition is applied to a resource. A resource type definition does not apply to its own existing nested resources.
Here is example of RAML which contains security schemes, methods and other nodes like libraries, overlays, extensions, documentation, etc.
#%RAML 1.0
title: dbcrud
version: v1
mediaType:
- application/json
protocols: [HTTP,HTTPS]
documentation:
- title: User Details
content: !include documentation/documentation.raml
types:
insertReqSchema: !include schemas/insertReqSchema.json
updateReqSchema: !include schemas/updateReqSchema.json
annotationTypes:
department: string
uses:
files: Library/library.raml
securitySchemes:
basicAuth:
description: It is used for authenticating uses by username & password
type: Basic Authentication
describedBy:
headers:
client_id: string
client_secret: string
/employee:
get:
(department): IT
is: [files.client-id-required,files.client-secret-required,files.errors]
queryParameters:
id:
description: for fetching employee on the basis of id
required: false
minimum: 1
maximum: 100
type: integer
example:
2
responses:
200:
body:
application/json:
example: !include examples/searchRes
post:
is: [files.client-id-required,files.client-secret-required,files.errors]
description: for posting employees data
body:
application/json:
example: !include examples/insertReq
description: Request body for inserting the data
type: !include schemas/insertReqSchema.json
responses:
201:
body:
application/json:
example: !include /examples/insertRes
put:
securedBy:
- basicAuth
is: [files.client-id-required,files.client-secret-required,files.errors]
description: for updating employees data
body:
application/json:
example: !include examples/updateReq
description: Request body for updating the data
type: !include schemas/updateReqSchema.json
responses:
204:
body:
application/json:
example: !include /examples/updateRes
delete:
securedBy:
- basicAuth
is: [files.client-id-required,files.client-secret-required,files.errors]
description: for deleting employees data
responses:
202:
body:
application/json:
example: !include /examples/deleteRes
/{id} :
get:
is: [files.client-id-required,files.client-secret-required, files.errors]
description: for getting data of specific employee
displayName : /employee/id
responses:
200:
body:
application/json:
example: !include examples/searchIdRes
delete:
is: [files.client-id-required,files.client-secret-required, files.errors]
description: for deleting data of specific employee
displayName : /employee/id
responses:
200:
body:
application/json:
example: !include examples/deleteIdRes
No comments:
Post a Comment