SpringFox makes it possible to keep the documentation of the API together with the source code that implements the API. To me, this is an important feature. If the API documentation is maintained in a separate life cycle from the Java source code, they will diverge from each other over time. In many cases, this is sooner than expected (from my experience). As always, it is important to separate the interface of a component from its implementation. In terms of documenting a RESTful API, we should add the API documentation to the Java interface that describes the API, and not to the Java class that implements the API. To simplify updating the documentation of the API, we can place parts of the documentation in property files instead of in the Java code directly.
In 2015, SmartBear Software donated the Swagger specification to the Linux Foundation...