Rumah  >  Artikel  >  Java  >  Cara menggunakan Swagger dalam projek springboot

Cara menggunakan Swagger dalam projek springboot

王林
王林ke hadapan
2023-05-13 08:28:121737semak imbas

1. Apakah itu Swagger

Swagger ialah perkhidmatan web yang digunakan untuk menjana, menerangkan dan memanggil antara muka RESTful. Dalam istilah orang awam, Swagger ialah perkhidmatan yang memaparkan semua antara muka dalam projek (yang ingin anda dedahkan) pada halaman, dan membenarkan panggilan dan ujian antara muka.

2. Untuk apa Swagger?

Swagger mempunyai tiga fungsi penting berikut: memaparkan semua antara muka dalam projek pada halaman, supaya pengaturcara bahagian belakang tidak perlu menulis dokumen antara muka khas untuk pengguna bahagian hadapan apabila antara muka dikemas kini; Anda hanya perlu mengubah suai perihalan Swagger dalam kod untuk menjana dokumen antara muka baharu dalam masa nyata, dengan itu mengelakkan masalah dokumen antara muka adalah lama dan tidak boleh digunakan melalui halaman Swagger, kami boleh menghubungi terus antara muka untuk memudahkan pembangunan kami;

3. Cara memperkenalkan Swagger dalam springboot

1) Bergantung pada

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
 
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>

2) Buat kelas pengawal

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
 
@RestController
public class TestController {
 
    @PostMapping("/hello")
    public String hello(String str){
        return "hello,"+str;
    }
}

3) Buat Konfigurasi Swagger kelas SwaggerConfig kelas

@Configuration
@EnableSwagger2//开始Swagger2
public class SwaggerConfig {
 
 
    //配置了Swagger 的Docket的bean实例
    @Bean
    public Docket docket(){
 
        ParameterBuilder ticketPar = new ParameterBuilder();
        List<Parameter> pars = new ArrayList<>();
        ticketPar.name("Authorization").description("token")//Token 以及Authorization 为自定义的参数,session保存的名字是哪个就可以写成那个
                .modelRef(new ModelRef("string")).parameterType("header")
                .required(false).build(); //header中的ticket参数非必填,传空也可以
        pars.add(ticketPar.build());    //根据每个方法名也知道当前方法在设置什么参数
 
        return new Docket(DocumentationType.SPRING_WEB)
                .apiInfo(apiInfo())
                .select()
                //RequestHandlerSelectors, 配置要扫描接口的方式
                //basePackage:指定要扫描的包
                //any():扫描全部
                //withClassAnnotation: 扫描类上的注解
                //withMethodAnnotation: 扫描方法上的注解
                .apis(RequestHandlerSelectors.basePackage("com.example.swagger.controller"))
                .build()
                .globalOperationParameters(pars);
    }
 
    //配置Swagger 信息=apiInfo
    private ApiInfo apiInfo(){
        return new ApiInfo(
                "Logistics Api",//文檔命名
                "test",//文檔描述
                "v1.0",//
                "http:127.0.0.1/",
                null,//contact
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList()
        );
    }
}

Perhatian!

Perhatian!

Perhatian!

Tulis laluan

"com.example.swagger.controller" dalam apis(RequestHandlerSelectors.basePackage("com.example.swagger.controller")) sebagai laluan pakej pengawal anda sendiri

4. Struktur keseluruhan projek

Cara menggunakan Swagger dalam projek springboot

5. Akses halaman web melalui URL

Selepas melengkapkan langkah di atas, klik Jalankan dan tunggu sehingga operasi selesai. Kemudian lawati URL berikut dalam penyemak imbas:

http://127.0.0.1:8080/swagger-ui.html#/

Port di sini hendaklah ditukar kepada port anda sendiri.

Kesannya seperti yang ditunjukkan dalam gambar

Cara menggunakan Swagger dalam projek springboot

Atas ialah kandungan terperinci Cara menggunakan Swagger dalam projek springboot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam