Tutorial zur Verwendung von Swagger

Stolzieren

Integrieren Sie Prahlerei

verlassen:
  • springfox-swagger2
  • springfox-swagger-ui
<Abhängigkeit>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</Abhängigkeit>
<Abhängigkeit>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</Abhängigkeit>
Konfigurieren Sie den Swagger-Container
Paket com.oo.swagger_demo.config;
/**
* Beschreibung:
*
* @author:wuxinke
* @date: 2021-06-07 23:02
* @param:
* @zurückkehren:
*/
import org.springframework.context.annotation.*;
import org.springframework.core.env.*;
import springfox.documentation.builders.*;
import springfox.documentation.service.*;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.ArrayList;
@Aufbau
@EnableSwagger2 //Swagger2 aktivieren
öffentliche Klasse SwaggerConfig {
    @Bohne
    //Umgebung: Aktuelle Produktionsumgebung abrufen
    öffentliches Docket createRestApi(Umgebungsumgebung){
        //Legen Sie die anzuzeigende Swagger-Umgebung fest
        Profile Profile = Profiles.of("dev");
        //Verwenden Sie Environment.acceptsProfiles(), um festzustellen, ob Sie sich in der von Ihnen festgelegten Umgebung befinden.
        boolesches Flag = Environment.acceptsProfiles(profiles);
        neues Docket zurückgeben (DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                //.enable(flag)// Gibt an, ob Swagger gestartet werden soll. Wenn es falsch ist, kann im Browser nicht auf Swagger zugegriffen werden
                .wählen()
                //RequestHandlerSelectors.any(): Alle scannen
                //RequestHandlerSelectors.none(): Kein Scannen
                //RequestHandlerSelectors.basePackage(): Das angegebene Paket scannen
                //RequestHandlerSelectors.withClassAnnotation(): Scannen Sie die Anmerkungen der Klasse. Der Parameter ist ein Anmerkungsemissionsobjekt
                //RequestHandlerSelectors.withMethodAnnotation(): Scannen Sie die Anmerkungen zur Methode. Der Parameter ist ein Anmerkungsemissionsobjekt
                .apis(RequestHandlerSelectors.basePackage("com.oo.swagger_demo.controller"))//Schnittstelle scannen
                //.paths(PathSelectors.ant("/admin/**"))//Welche Pfade gefiltert werden sollen
                .bauen();
    }
    private ApiInfo apiInfo(){
        Kontakt contact = new Contact("", "", "");
        return new ApiInfo("Wu Xinke interface", "Wu /LICENSE-2.0", new ArrayList());
    }
}

Konfigurieren Sie API-Gruppen

.groupName("Wu Xinke")
@Bohne
öffentliches Docket getDocket1(){
    neues Docket zurückgeben (DocumentationType.SWAGGER_2)
            .groupName("Zhang San");
}
@Bohne
öffentliches Docket getDocket2(){
    neues Docket zurückgeben (DocumentationType.SWAGGER_2)
            .groupName("李思");
}
@Bohne
öffentliches Docket getDocket3(){
    neues Docket zurückgeben (DocumentationType.SWAGGER_2)
            .groupName("王五");
}

Prahlerei -Anmerkung

Entitätsklasse:
ApiModel: Objektanmerkung
ApiModelProperty: Attributanmerkung
Kontrollschicht:
API: Klassenanmerkung
ApiOperation: Methodenanmerkung
ApiParam: Parameterbeschreibung
Aufführen:
@ApiModel(value="AppIndent-Objekt", Beschreibung="Bestelltabelle")
öffentliche Klasse AppIndent erweitert Model<AppIndent> {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "Primärschlüssel")
    @TableId(value = "id", type = IdType.AUTO)
    private lange ID;
    @ApiModelProperty(value = „Name“)
    @TableField("name")
    privater String-Name;
}
@RestController
@RequestMapping("/app/appIndent")
@Api(Wert = „Adressbezogen“, Tags = „Adressbezogen“)
Die öffentliche Klasse AppIndentController erweitert BaseController{
    /**
    * Beschreibung: Klicken Sie hier, um die Tür-zu-Tür-Adresse auszuwählen und alle Adressen des Benutzers anzuzeigen
    * @Autor: Wu Xinke
    * @Datum:2021/5/6 9:35
    * @Param: pageNum: Startindex, pageSize: Anzahl der Elemente pro Seite
    */
    @GetMapping("/list")
    @ApiOperation(value = „Anzeige der Bestellliste“, Notes = „Anzeige der Bestellliste“)
    public ResultPage<AppIndent> list( @ApiParam(value = "Start Index") 
    @RequestParam Integer pageNum,@ApiParam(value = "Anzahl der Elemente pro Seite") @RequestParam Integer pageSize){
        return appIndentService.userIdList(getUserId(),pageNum,pageSize);
    }

Ich denke du magst

Origin blog.csdn.net/weixin_51689532/article/details/132805503
Empfohlen
Rangfolge