springboot3.4.5 swagger配置

一、依赖

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>2.0.4</version>
</dependency>

二、配置(或在启动类配置)

package com.wt.config;

import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @Description: TODO
 * @Author: 1872428
 * @Date: 2025/5/8 11:03
 * @Version: 1.0
 **/

@Configuration
public class OpenAPIConfig {

    @Bean
    public OpenAPI openAPI(){
        return new OpenAPI().info(new Info()
                    .title("接口文档")
                    .description("文档测试")
                    .version("v1")
                    .license(new License().name("测试版本1.0").url("http://springdoc.org"))
                ).externalDocs(new ExternalDocumentation()
                    .description("项目ApI文档")
                    .url("https://springshop.wiki.github.org/docs")
                );
    }
}

三、使用

package com.wt.controller;

import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.*;

/**
 * @Description: TODO
 * @Author: 1872428
 * @Date: 2025/5/8 11:37
 * @Version: 1.0
 **/

// 描述
@Tag(name = "测试", description = "测试的接口")
@RestController
@RequestMapping("test")
public class TestController {

    @Operation(summary = "获取测试接口")
    //请求参数,是否必填项,需要配合@RequestParam
    @Parameters({
            @Parameter(name = "name", description = "姓名"),
            @Parameter(name = "age", description = "年龄", required = false)
    })
    // 响应,一般不用
    //@ApiResponses({
    //        @ApiResponse(responseCode = "200", description = "请求成功"),
    //        @ApiResponse(responseCode = "400", description = "请求参数没填好"),
    //        @ApiResponse(responseCode = "401", description = "没有权限"),
    //        @ApiResponse(responseCode = "403", description = "禁止访问"),
    //        @ApiResponse(responseCode = "404", description = "请求路径没有或页面跳转路径不对")
    //})
    @GetMapping("get")
    public String add(@RequestParam(name = "name",  required = true) String name, @RequestParam(name = "age", required = false) Integer age){
        return name;
    }
}

 四、网址

http://localhost:8080/swagger-ui/index.html#/

posted @ 2025-05-08 12:25  市丸银  阅读(145)  评论(0)    收藏  举报