Rumah > Java > javaTutorial > Cara menggunakan Swagger dalam SpringBoot

Cara menggunakan Swagger dalam SpringBoot

WBOY
Lepaskan: 2023-05-17 20:16:10
ke hadapan
1684 orang telah melayarinya

Integrate Swagger

Dependencies:

<!-- Swagger -->
<dependency>
    <groupId>com.battcn</groupId>
    <artifactId>swagger-spring-boot-starter</artifactId>
    <version>2.1.5-RELEASE</version>
</dependency>
Salin selepas log masuk

Anda mungkin perasan bahawa Swagger yang saya ada di sini tidak rasmi Ia disepadukan oleh pihak ketiga dan konfigurasinya lebih mudah.

Konfigurasi terperinci

Konfigurasi terperinci:

spring:
  swagger:
    enabled: true
    title: 标题
    description: 描述信息
    version: 系统版本号
    contact:
      name: 维护者信息
    base-package: swagger扫描的基础包,默认:全扫描(分组情况下此处可不配置)
    #全局参数,比如Token之类的验证信息可以全局话配置
    global-operation-parameters:
    -   description: "Token信息,必填项"
        modelRef: "string"
        name: "Authorization"
        parameter-type: "header"
        required: true
    groups:
      basic-group:
        base-package: com.battcn.controller.basic
      system-group:
        base-package: com.battcn.controller.system
Salin selepas log masuk

Konfigurasi saya

spring:
  swagger:
    title: 星空小屋 - 文章微服务接口
    description: 文章微服务相关接口,包括文章、模块、知识点管理等
    version: 1.0.0 - SNAPSHOT
    contact:
      name: cv大魔王
      email: 1919301983@qq.com
    host: localhost
    enabled: true
    security:
      filter-plugin: true # 配置账号密码
      username: root
      password: root
Salin selepas log masuk

Konfigurasikan pemintas, terdapat konfigurasi pemintas kemudian, jika ada pembaca yang perlu mengkonfigurasinya sendiri Untuk kegunaan projek, sila ubah suai konfigurasi pemintas asal dan abaikan laluan berikut untuk mengelak daripada dipintas dan mengakibatkan tidak boleh diakses. "swagger-ui.html", "static/css/", "static/js/", "swagger-resources", "/**/error", "v2/api-docs"

Uji menggunakan

untuk menjalankan projek dan akses IP+端口号/swagger-ui.html, sebagai contoh, akses dalam penyemak imbas: http://127.0.0.1:13001/swagger-ui.html

Cara menggunakan Swagger dalam SpringBoot

Kesan selepas log masuk:

Cara menggunakan Swagger dalam SpringBoot

Semakan - Anotasi Biasa

Jika anda sudah biasa dengan sombong, sila abaikan "Perenggan anotasi biasa"

`@Api`:用在 Controller 类上,描述该类的作用
  1. `value`="描述信息"
  2. `description`="详细描述该类的作用"
Salin selepas log masuk

@ApiOperation: digunakan pada kaedah permintaan Pengawal untuk menerangkan fungsi kaedah.

@ApiModel: digunakan apabila parameter permintaan ialah objek, menerangkan peranan kelas objek

// 在对象类上使用@ApiModel
@ApiModel(value="CategoryREQ对象", description="类别查询条件")
public class CategoryREQ extends BaseRequest<Category> {
}
Salin selepas log masuk

@ApiModelProperty: digunakan apabila parameter permintaan ialah atribut objek, menerangkan peranan atribut objek .

  • value: perihalan atribut

  • hidden: sama ada ia adalah atribut syarat pertanyaan, palsu: (nilai lalai) dalam dokumen api Dipaparkan sebagai syarat pertanyaan benar tersembunyi, bukan atribut bersyarat

// 请求方法参数是 CategoryREQ 对象
public Result search(@RequestBody CategoryREQ req) {}

@ApiModel(value="CategoryREQ对象", description="类别查询条件")
public class CategoryREQ extends BaseRequest<Category> {
    
    @ApiModelProperty(value = "分类名称")
    private String name;

    @ApiModelProperty(value="状态(1:正常,0:禁用)")
    private Integer status;
}
Salin selepas log masuk
  • @ApiResponses: digunakan pada kaedah permintaan untuk mewakili set respons

  • @ApiResponse: digunakan dalam @ApiResponses, biasanya digunakan untuk menyatakan mesej respons ralat, parameter anotasi:

  • code : Nombor, seperti 400message: Maklumat, seperti "Ralat pengisian parameter"response: Kelas yang membuang pengecualian

@ApiIgnore: Gunakan anotasi ini untuk mengabaikan perkara ini API

@ApiImplicitParams: Digunakan atas kaedah permintaan untuk menambah huraian pada berbilang parameter permintaan

@ApiImplicitParam: Boleh digunakan secara bersendirian atau dalam @ApiImplicitParams untuk menambah penerangan pada satu parameter permintaan kaedah .

  1. name: Nama parameter

  2. value: Perihalan fungsi parameter

  3. dataType: jenis parameter, jenis parameter, String lalai, nilai lain dataType="Integer"

  4. defaultValue: nilai lalai parameter

  5. required: Sama ada parameter mesti diluluskan (benar/salah)

  6. paramTpye: Tentukan tempat untuk meletakkan parameter (header/query/path/ badan/bentuk)

header: Parameter diserahkan dalam pengepala permintaan @RequestHeader
query: Pemetaan dan tugasan automatik dilengkapkan terus dengan parameter @RequestParam
path: Dihantar dalam bentuk pembolehubah laluan Data @PathVariable
body: Penyerahan dalam bentuk aliran hanya menyokong POST (tidak biasa digunakan)
form: Penyerahan dalam bentuk hanya menyokong POST (tidak biasa digunakan)
Rujukan:

// 请求方法有多个请求参数 size, current
@ApiImplicitParams({
    @ApiImplicitParam(name="current", value="页码", required=true, paramType="path",dataType="int"),
    @ApiImplicitParam(name="size", value="每页记录数", required=true, paramType="path",dataType="int")
})
@ApiOperation("根据分类名称与状态查询分类列表接口")
@PostMapping("/search/{current}/{size}")
Result search(@RequestBody CategoryREQ req, @PathVariable int current, @PathVariable int size);
Salin selepas log masuk

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

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan