This commit improves the extensibility of the various descriptor classes. The following changes have been made: - Constructors have been made protected to allow them to be called by subclasses in a different package - Model creation has been moved to the relevant snippet class. This improves the separation of concerns as a descriptor should not be aware of template-based rendering and the need for a model. The method is protected to allow it to be overridden by a custom subclass that uses a custom descriptor subclass. - Methods that should not be overridden have been made final. See gh-73
Spring REST Docs 
Overview
The primary goal of this project is to make it easy to document RESTful services by combining content that's been hand-written using Asciidoctor with auto-generated examples produced with the Spring MVC Test framework. The result is intended to be an easy-to-read user guide, akin to GitHub's API documentation for example, rather than the fully automated, dense API documentation produced by tools like Swagger.
For a broader introduction see the Documenting RESTful APIs presentation. Both the slides and a video recording are available.
Learning more
To learn more about Spring REST Docs, please consult the reference documentation.
Building from source
Spring REST Docs requires Java 7 or later and is built using Gradle:
./gradlew build
Contributing
Pull requests are welcome. Please see the contributor guidelines for details.
Licence
Spring REST Docs is open source software released under the Apache 2.0 license.