Description:
{quote}
There is a need to use external JSON schema(s) to describe data in RAML API interfaces.
The schema is expected to reside inside a jar file which attached to a module as a regular dependency.
If the above is not achievable – propose any options of how external schemas can be used in a module with minimal effort
{quote}
Results:
1. Include JSON schemas as a dependency to the module using maven plugins
Approach:
- add a dependency to the target module
- include following plugins to the .pom file
Advantages:
- No need to modify RMB module
Disadvantages:
- Insert a bunch of plugins to every module needed
- maintain regex in case of change
2. Add plugin to RMB to manage references
Approach:
- From the jsonschema2pojo Wiki documentation and code example there is possible to specify the path to the referenced object by classpath:, resource:
Advantages:
- Changes done in RMB will apply to all modules, which are used it
Disadvantages:
- Need to modify RMB module
- Need to investigate the amount of changes to RMB
3. Add schemas to RAML module
Approach:
- Store RAML, JSON files in the FOLIO Raml module
Advantages:
- All needed files stored in one place and modules can access it as other schemas already stored in RAML module
Disadvantages:
- Raml module will store additional files, which probably not all of the modules are interested in.