Spike: Figure out how to plug JSON schema in from external library (jar file) into a module
Description:
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
Input values:
assume existing RAML directory structure:
\ramls
-\examples
-\raml-util
-library.raml
-nataliabook.json
-bookCollection.jsonwhere bookCollection.json file contains a reference to the single item
as following:
"$ref": "nataliaBook.json"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.