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#/