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 festProfile 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);}