[x] My branch is up-to-date with upstream/develop branch.
[x] Everything works and tested for Python 3.5.2 and above.
Description
Separated concerns by adding /parsers and /processors
Parsers are responsible for parsing the text of the OpenAPI Spec and extracting relevant information for creating a Hydra Object
Processors then use this information and act as an adapter to the hydra-python-core which then convert it to a Hydra Object
These Hydra objects are then used by the APIClassProcessor to finally create a relevant Hydra Class along with the other relevant "metadata" using the APIInfoProcessor and then sending it to the OpenAPIDocParser which assimilates everything to create a HydraDoc
This PR addresses a lot of the open issues in this project currently (#21 , #4 , #19) and is inspired by the Swagger Parser heavily.
Future improvements:
Condense the number of modules.
Make better use of the Adapter Pattern for working with hydra-python-core
Add better support for working with OpenAPI Schema Objects and JSON pointers.
Checklist
Description
/parsers
and/processors
Parsers
are responsible for parsing the text of the OpenAPI Spec and extracting relevant information for creating a Hydra ObjectProcessors
then use this information and act as an adapter to thehydra-python-core
which then convert it to a Hydra ObjectAPIClassProcessor
to finally create a relevant Hydra Class along with the other relevant "metadata" using theAPIInfoProcessor
and then sending it to theOpenAPIDocParser
which assimilates everything to create aHydraDoc
This PR addresses a lot of the open issues in this project currently (#21 , #4 , #19) and is inspired by the Swagger Parser heavily.
Future improvements:
hydra-python-core
Schema
Objects and JSON pointers.