Springfox: Difference between revisions
Jump to navigation
Jump to search
Line 59: | Line 59: | ||
==Generating the Swagger Specification== | ==Generating the Swagger Specification== | ||
At this point, only the "io.springfox:springfox-swagger2" dependency is needed. This dependency contains all the functionality Springfox needs to generate the specification in the JSON format. | |||
==UI Support== | ==UI Support== |
Revision as of 22:09, 14 February 2019
External
- http://springfox.github.io/springfox/
- http://springfox.github.io/springfox/docs/current/
- https://github.com/springfox/springfox
Internal
Overview
Springfox is a suite of Java libraries for automating the generation of machine and human readable specification for JSON APIs written with Spring Framework. Springfox works by examining an application, once, at runtime to infer API semantics based on Spring configurations, class structure and various compile time java annotations.
Dependencies
repositories {
jcenter()
}
dependencies {
implementation "io.springfox:springfox-swagger2:2.9.2"
}
Essential Classes
- springfox.documentation.spring.web.plugins.Docket: the primary API configuration mechanism.
- ApiSelectorBuilder provides fine grained control over the endpoints exposed via swagger.
Annotations
Security Schemas
The following security schemas are available to protect the API:
- ApiKey
- BasicAuth
- OAuth
Models
Non-reachable Model
A model that should be described in the generated specification but is not explicitly used in any operation.
Generating Swagger/OpenAPI Specification from Spring Code with Springfox
General Considerations
How is the artifact generated? Where?
Generating the Swagger Specification
At this point, only the "io.springfox:springfox-swagger2" dependency is needed. This dependency contains all the functionality Springfox needs to generate the specification in the JSON format.
UI Support
dependencies {
implementation 'io.springfox:springfox-swagger-ui:2.9.2'
}