Heim  >  Artikel  >  Java  >  Einführung in die Methode zur Integration von SpringBoot mit Swagger (mit Code)

Einführung in die Methode zur Integration von SpringBoot mit Swagger (mit Code)

不言
不言nach vorne
2019-03-21 10:11:013100Durchsuche

Dieser Artikel bietet Ihnen eine Einführung in die Methode zur Integration von Swagger mit SpringBoot. Ich hoffe, dass er für Freunde hilfreich ist.

Was ist Swagger?

  1. Swagger kann eine interaktive API-Konsole generieren, die Entwickler zum schnellen Erlernen und Ausprobieren von APIs verwenden können.
  2. Swagger kann Kunden generieren. End-SDK-Code wird verwendet für die Implementierung auf einer Vielzahl verschiedener Plattformen
  3. Swagger-Dateien können automatisch aus Codekommentaren auf vielen verschiedenen Plattformen generiert werden
  4. Swagger hat eine starke Community

Abhängigkeitsimport

<!-- Swagger -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.4.0</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.4.0</version>
</dependency>

Konfiguration hinzufügen

swagger:
  title: 项目 API
  description: SpringBoot 集成 Swagger 项目 API
  version: 1.0
  terms-of-service-url: http://www.baidu.com/
  base-package: cn.anothertale.springbootshiro  # 这一项指定需要生成 API 的包,一般就是 Controller
  contact:
    name: taohan
    url: http://www.baidu.ccom/
    email: 1289747698@qq.com

Swagger-Konfiguration erstellen

package cn.anothertale.springbootshiro.config.swagger;

import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * description: swagger 配置中心
 *
 * @author: taohan
 * @date: 2019年03月20日
 * @time: 16:52
 */
@Getter
@Setter
@Configuration
@EnableSwagger2
@ConditionalOnClass(EnableSwagger2.class)
@ConfigurationProperties(prefix = "swagger")
public class SwaggerConfig {

    /**
     * API 接口包路径
     */
    private String basePackage;

    /**
     * API 页面标题
     */
    private String title;

    /**
     * API 描述
     */
    private String description;

    /**
     * 服务条款地址
     */
    private String termsOfServiceUrl;

    /**
     * 版本号
     */
    private String version;

    /**
     * 联系人
     */
    private Contact contact;

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage(basePackage))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title(title)
                .description(description)
                .termsOfServiceUrl(termsOfServiceUrl)
                .version(version)
                .contact(contact)
                .build();
    }
}

über Annotation Mark API

Swagger scannt alle Schnittstellen und generiert standardmäßig entsprechende API-Beschreibungen und Parameterinformationen basierend auf dem konfigurierten Paket.

Häufig verwendete Annotationen und entsprechende Attribute lauten wie folgt:

  • @Api (beschreibt eine API-Klasse und ist auf dem Controller markiert)

    1. Wert: Der Pfadwert der URL
    2. Tags: Wenn dieser Wert festgelegt ist, wird der Wert von value überschrieben
    3. Beschreibung: API-Ressourcenbeschreibung
    4. basePath: Der Basispfad muss nicht festgelegt werden
    5. erzeugt: Zum Beispiel: application/json, application/xml Ähnlich wie RequestMapping, entsprechende Attribute
    6. verbrauchen: Zum Beispiel: application/json, application/xml
    7. Berechtigungen: Konfiguration während der erweiterten Funktionsauthentifizierung
    8. versteckt: Ob im Dokument ausgeblendet werden soll

  • @ApiOperation (wird für die Controller-Methode verwendet, veranschaulicht die Funktion der Methode)

    1. Wert: Der Pfadwert der URL
    2. Tags:Wenn dieser Wert festgelegt ist, wird der Wert von value überschrieben
    3. Beschreibung: Beschreibung der API-Ressource
    4. basePath: Der Basispfad darf nicht festgelegt werden
    5. Position:Wenn Sie mehrere APIs konfigurieren und die Platzierung ändern möchten, können Sie dieses Attribut verwenden, um
    6. Antwort: Das zurückgegebene Objekt
    7. responseContainer: Diese Objekte sind gültige List, Set und Map, andere sind ungültig
    8. httpMethod: Anfragemethode
    9. Code: HTTP-Statuscode, Standard 200
    10. Erweiterungen: Erweiterungseigenschaften

  • @ApiImplicitParams (wird für Controller-Methoden verwendet und beschreibt einen Satz von Anforderungsparametern)

    1. Wert: ApiImplicitParam Array, siehe nächster Hinweis

  • @ApiImplicitParam(Beschreibt einen Anforderungsparameter)

    1. Name: Parametername
    2. Wert: Parameterwert
    3. Standardwert: Parameter-Standardwert
    4. erforderlich: Ob erforderlich, standardmäßig falsch
    5. Zugriff: Nicht zu beschreibend
    6. Beispiel: Beispiel

  • @ApiResponses (Beschreibung Eine Reihe von Antworten)

    1. Wert: ApiResponse Array, siehe nächste Notiz

  • @ApiResponse (Beschreiben Sie eine Antwort)

    1. Code: HTTP-Statuscode
    2. Nachricht: Beschreiben Sie die Nachricht
Zuletzt können Sie http:/ eingeben. /localhost:8080/swagger-ui.html im Browser, um darauf zuzugreifen!

Einführung in die Methode zur Integration von SpringBoot mit Swagger (mit Code)

Das obige ist der detaillierte Inhalt vonEinführung in die Methode zur Integration von SpringBoot mit Swagger (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen