In Kombination mit dem Spring-Framework werden automatisch API-Dokumente für das Zielsystem generiert.
Darüber hinaus ist es möglich, ** menschliche Fehler ** zu unterdrücken und Dokumente mit ** Einheitlichkeit ** zu erstellen, indem ** automatisch ** aus dem System generiert wird.
Da es viele Punkte gibt, ist es ein Bulletin ... φ (...)
Verwaltet von einer Definitionsdatei namens Swagger Spec
In JSON oder YAML definiert
Swagger UI-Dokumente basierend auf Swagger Spec
Generierte Dokumente können basierend auf HTML und jQuery angepasst werden
Unterstützt Frameworks in verschiedenen Sprachen
Es ist auch möglich, wie r mit dem Swagger-Kern zu erstellen, ohne die Swagger-Spezifikation zu erstellen
Es gibt andere Tools wie Swagger Editor, Swagger Codegen und Swagger Node (anscheinend).
Externe Tools wie Postman und Amazon API Gateway werden ebenfalls unterstützt.
Swagger Test Template generiert automatisch JavaScript-Testcode und führt ihn aus einer Spec-Datei aus.
Swagger wird von der "Open API Initiative" übernommen, einer Organisation, die Standardformate zur Beschreibung von RESTful API-Schnittstellen fördert.
** API Blueprint ** ist als weiteres Tool zur Generierung von API-Dokumenten bekannt.
Zu Gradle-Abhängigkeiten hinzugefügt
build.gradle
dependencies {
...
compile "io.springfox:springfox-swagger2:2.2.2"
compile "io.springfox:springfox-swagger-ui:2.2.2"
compile "com.google.guava:guava:17.0"
...
}
Anmerkungen hinzufügen und aktivieren
Application.java
@SpringBootApplication
@EnableSwagger2//hinzufügen
public class Application extends SpringBootServletInitializer
{
public static void main( String... args )
{
SpringApplication.run( Application.class, args );
}
}
SwaggerConfiguration.java
@Configuration
public class SwaggerConfiguration
{
@Bean
public Docket publicDocument()
{
return new Docket( DocumentationType.SWAGGER_2 ).groupName( "public" )
.select()
.paths( paths() )
.build()
.apiInfo( apiInfo() );
}
private ApiInfo apiInfo()
{
ApiInfo apiInfo = new ApiInfo(
"My REST API",
"Some custom description of API.",
"API TOS",
"Terms of service",
"[email protected]",
"License of API",
"API license URL");
return apiInfo;
}
private Predicate<String> paths() {
return or(
regex("/some/endpoint")
);
}
}
Greifen Sie auf /swagger-ui.html zu
Dies ist praktisch, da die Java-Klasse des Rückgabewerts automatisch in JSON SCHEMA konvertiert wird und Sie über diesen Bildschirm eine Anforderung stellen können.
Nächster
Ich werde es anfassen.
Na dann.
Recommended Posts