切换主题
三、swagger
一、swagger3的使用
提示
springboot3使用swagger3
1、引入依赖
xml
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>4.1.0</version>
</dependency>
2、配置SwaggerConfig.java
java
@Configuration
@Slf4j
public class SwaggerConfig {
/**
* 生成swagger接口文档
*
* @return
*/
@Bean
public OpenAPI createOpenApi() {
Contact contact = new Contact();
contact.setUrl("https://hdq12.github.io/dqBlog/");
contact.setName("hdq");
contact.setEmail("167780695@qq.com");
Info info = new Info().title("商城管理接口文档")
.description("商城管理swagger-API管理")
.version("0.0.1").contact(contact);
OpenAPI openAPI = new OpenAPI().info(info);
log.info("开始创建swagger接口文档");
return openAPI;
}
}
3、注册资源拦截器
java
@Configuration
@Slf4j
public class WebMvcConfiguration extends WebMvcConfigurationSupport {
/**
* 注册资源拦截器
* @param registry
*/
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
log.info("开始注册资源拦截器");
registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
4、配置数据模型
java
@Data
@Schema(name = "AdminLoginDTO", title = "管理员登录数据模型", description = "管理员登录时传递的数据模型")
public class AdminLoginDTO implements Serializable {
@Schema(description = "用户名", requiredMode = Schema.RequiredMode.REQUIRED, example = "admin")
private String username;
@Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "password123")
private String password;
}
5、配置controller
java
@RestController
@RequestMapping("/admin")
@Tag(name = "管理员管理")
public class UserController {
@PostMapping("/login")
@Operation(summary = "登录")
public Result login(@RequestBody AdminLoginDTO adminLoginDTO) {
System.out.println(adminLoginDTO);
return Result.success();
}
}
6、访问
http://localhost:8080/doc.html