<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${swagger.version}</version> </dependency>
Versi yang paling biasa digunakan ialah 2.9.2
Anotasi @EnableSwagger2 yang disediakan oleh springfox boleh mendayakan teknologi berkaitan swagger2. Program ini akan merentasi semua jenis dalam pakej dan sub-pakej kelas semasa untuk mencari anotasi yang berkaitan dengan Swagger dan menyesuaikan dokumen Swagger
Klik cuba untuk memasukkan parameter yang sepadan untuk melihat hasil yang dikembalikan
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>${swagger.version}</version> </dependency>
@EnableSwagger2 @Configuration public class SwaggerConfig { @Autowired private ApplicationContext applicationContext; private Contact contact = new Contact("NIUA","localhost:8080/swagger-ui.html", "1053288979@qq.com"); @Bean public Docket createRestApi() { ServletContext servletContext = applicationContext.getBean(ServletContext.class); return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.any()) .paths(Predicates.not(regex("/error.*"))) .build() .apiInfo(apiInfo()); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("平台接口 v1.0") .description("平台接口") .contact(contact) .version("1.0") .build(); } }
Buat objek jenis Docker dan gunakan pengurusan bekas spring. Docker ialah objek konfigurasi global dalam Swagger
Gunakan DocumentationType.SWAGGER_2 untuk menentukan objek kelas Docket untuk menentukan versi mana yang digunakan
apiInfo(): Maklumat perihalan dokumen API, parameter ialah satu objek kelas ApiInfo, gunakan pembina bulid() untuk mencipta
@Bean public Docket createRestApi() { ServletContext servletContext = applicationContext.getBean(ServletContext.class); return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.any()) .paths(Predicates.not(regex("/error.*"))) .build() .apiInfo(apiInfo()); }Salin selepas log masukcontact(): Konfigurasikan kandungan utama dokumen swagger, yang juga merupakan objek kelas kepada tiga parameter, Nama penerbit, alamat URL tapak web penerbit dokumen (tapak web korporat), alamat e-mel penerbit dokumen
private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("平台接口 v1.0") .description("平台接口") .contact(contact) .version("1.0") .build(); }Salin selepas log masuktitle(): title description(): description information.version(): Maklumat versi
sepadan dengan kandungan berikut
Kaedah yang mengembalikan ApiSelectorBuilder ialah select(), yang digunakan untuk mendapatkan pemilih dalam Docker . Bina pemilih. Sebagai contoh, pakej apakah yang perlu diimbas untuk anotasi
apis(): diikuti oleh peraturan (Predicate) di bawah kelas RequestHandlerSelectors, yang menetapkan anotasi pakej tersebut untuk diimbas secara lalai ialah anotasi di bawah kelas permulaan dan subpakejnya
Terdapat beberapa kaedah statik di bawah kelas RequestHandlerSelectors (tiga contoh)
basePackage(): Isikan alamat khusus nama pakej kemudian, dan anotasi pakej yang diubah suai dan sub-pakejnya akan diimbas
private Contact contact = new Contact("NIUA","localhost:8080/swagger-ui.html", "1053288979@qq.com");Salin selepas log masukany(): Jana dokumentasi API untuk mana-mana antara muka
none(): Jangan jana dokumentasi antara muka untuk mana-mana antara muka
path(): Gunakan ungkapan biasa, penjanaan kekangan Alamat laluan dokumen Api, diikuti dengan laluan yang ditapis (lulus)
docker.apis(RequestHandlerSelectors.basePackage("com.xxx"))Salin selepas log masuk
yang tidak dinyatakan di sini, anda boleh cari sendiri jika berminat (tinggalkan Lokasi, akan digunakan pada masa hadapan)
Fungsi : @Api ialah Nota kelas dihidupkan. Kawal kandungan maklumat antara muka yang dijana oleh seluruh kelas
Atribut:
tag: nama kelas. Jika terdapat berbilang nilai, yang bermaksud terdapat berbilang salinan (alias) tersedia, paparan SwaggerUI akan menunjukkan pengawal yang mempunyai akses kepada menu yang melaluinya
penerangan: perihalan, usang
Fungsi: @ApiOperation ialah anotasi pada kaedah, menerangkan yang berkaitan maklumat kaedah
Atribut:
nilai: Fungsi penerangan kaedah
nota: Nota kaedah (luaskan penerangan)
Fungsi: @ApiParm ialah anotasi parameter kaedah. Terangkan parameter
Atribut:
nama: Nama parameter
nilai: Terangkan fungsi parameter
diperlukan: The nilai adalah jenis boolean , menunjukkan sama ada parameter ialah parameter yang diperlukan, lalainya adalah palsu
作用:@ApiParm是方法或者参数的注解。忽略注解的方法或者参数,不生成帮助文档
作用:@ApiParm是作用于类上方法,用来描述方法参数的注解。
属性:
name:参数名称,和方法的参数一致
value:参数具体描述
required:值为boolean类型,表示该参数是否为必要参数,默认为false
paramType:参数类型
paramType="字符串" paramType = "header"Salin selepas log masukdataType:数据类型
dataType = "string" //字符串数据 dataType = "键值对"Salin selepas log masuk
后面跟@ApiImplicitParam的集合,一般用于多个参数的描述
@ApiImplicitParams({@ApiImplicitParam(name = "Authorization", value = "Authorization token", required = true, dataType = "string", paramType = "header")})
作用:@ApiModel是作用于实体类上,描述一个实体类型,整个实体类型如果成为任何一个生成api帮助文档的返回对象的时候,该注解被解析
属性:
value:实体类名称
description:实体类描述
作用:@ApiModel是作用于实体类的属性上,描述实体类属性
属性:
value:实体属性描述
name:实体类属性名字,与属性名一致
Atas ialah kandungan terperinci Cara menggunakan Swagger2 dan penjelasan anotasi dalam projek SpringBoot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!