The Domain schema editor can be used to define the structure of REST requests and responses, or to add a mapping from your application domain |
The domain schema is a contract of communication. The purpose of the domain schema is to define what items are needed in a message and to specify its elements. For example the representation of a person. In this case the persons first name (1), always followed by his last name and his job(s). The right column represents the application domain, where the left column represents the domain schema of the message.
You start with an entity (2) that represents the begin and the end of the message. For every attribute/relation you can select a name (3), what datatype (4) it is, if it is required (5) to be part of the message, if it is multivalued (6), add a validation (7), and any additional documentation (8) that will be part of the Swagger feed.
|
To define an unnamed array the 'Hide root element' checkbox corresponding to the domain schema root element must be ticked.
Example of a JSON message that consists of an unnamed array:
[ { "John", 23 }, { "Rick", 30 }, { "Paul", 27 } ] |
When making use of unnamed arrays, only one child (relation or attribute) can follow the root element.
If parts of the domain schema are being reused, or the size of the domain schema is getting too large to understand and/or maintain, it may be a good choice to cut up the large domain schema and use the sub domain schema's in the main domain schema.
Applying a sub-domain schema is only possible if the following rules apply:
Because domain schemas can be referenced by other domain schemas, it is possible to create infinite loops. For more information on how to set the infinite-loop-limit for Runtime, check the properties documentation page.