Notable Features
- Refactor SwaggerResolver (#73) - thanks @Helmsdown!
- Multiple Json and Yaml spec files that are referenced together
- Relative file, URL, and internal file references
- Performing the resolution in one pass over the swagger model tree
- Caching contents of files (remote or relative) and resolved objects to avoid repeating expensive operations
- Gracefully (as possible) handling conflicting reference names (more on this below)
- Handling resolutions in all variants of Model, Property, and Parameter (e.g. ArrayModels, ArrayProperty, MapProperty, etc)
- Handling multiple levels of references (e.g. a RefModel which when resolved has a RefProperty)
- Separating the resolution logic for one type into is own class to hopefully make it easier to rationalize how that logic works and hopefully make it easier to test
- Centralize shared logic (caching a value, get the contents of ref, json/yaml deserialization)