🔥#xff1博客主页a; 【。CSDN博客小扳_。
❤感谢大家点赞#x1f44dd#;收藏⭐评论✍。


文章目录。
1.0 Swagger 介绍。
1.1 Swagger 和 Yapi 使用场景。
2.0 Swagger 使用方法。
2.1 导入 knife4j 的 maven 坐标。
2.2 添加到配置类 knife4j 相关配置。
2.3 设置静态资源映射,否则,接口文档页面无法访问。
2.4 完整 Swagger 配置代码。
3.0 Swagger 常见的注释。
1.0 Swagger 介绍。
使用 Swagger 您只需根据其规范定义界面和界面的相关信息,生成接口文档,以及在线接口调试页面。
knife4j 是为 Java MVC 框架集成 Swagger 生成 Api 增强文档解决方案。Swagger 允许定义 API 各方面,包括输入参数、请求和响应数据格式、接口路径等。同时, Swagger 提供交互式 Swagger UI ,可直观地查看和测试 API 。
简单来说,,就是 Swagger 根据已实现的方法或类,框架可以c;这种方法可以通过页面直观、清晰地查看或测试。
1.1 Swagger 和 Yapi 使用场景。
1)Yapi 在设计阶段使用的工具,接口的管理和维护。
2)Swagger 开发阶段使用的框架,帮助后端开发人员测试接口。
2.0 Swagger 使用方法。
首先通过导入 knife4j 的 maven 坐标,然后添加到配置类中 knife4j 相关配置最后设置静态资源映射。
2.1 导入 knife4j 的 maven 坐标。
com.github.xiaoymin knife4j-spring-boot-starter 3.0.2
2.2 添加到配置类 knife4j 相关配置。
首先,创建配置类,加上普通类 @Configuration 注释,而且这种类型需要继承 WebMvcConfigurationSupport 类。
再。定义返回 Docket 的 docket 方法。,需要添加这种方法 @Bean 注释,使其交给 IOC 容器管理成为 Bean 对象。
。 在该 docket 先创建一种方法 ApiInfo 对象。,通过 apiInfo 一些设置属性的方法,再创建一个 Docket 对象。,通过 docket 一些设置属性的方法,再次设置好 docket 对象返回。
代码如下:
@Bean public Docket docket() { ApiInfo apiInfo = new ApiInfoBuilder() .title("项目接口文件"#;) .version("2.0") .description("项目接口文件"#;) .build(); Docket docket = new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo) .select() .apis(RequestHandlerSelectors.basePackage("需要扫描的项目名")) .paths(PathSelectors.any()) .build(); return docket; }。
其中设置 。 其中设置 。 apis(RequestHandlerSelectors.basePackage("项目名称"需要扫描;))。
这个属性非常重要,项目中要测试的方法或类在具体包中的包名。这将自动扫描包及其子包的方法或类别。
2.3 设置静态资源映射,否则,接口文档页面无法访问。 在配置类中重写 addResourceHandlers 方法,通过资源路径 。"/doc.html"访问此页面。
。
protected void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); }。
2.4 完整 Swagger 配置代码。
/** * 配置类,web层相关组件注册 */@Configuration@Slf4jpublic class WebMvcConfiguration extends WebMvcConfigurationSupport { /** * 接口文档通过knife4j生成 * @return */ @Bean public Docket docket() { ApiInfo apiInfo = new ApiInfoBuilder() .title("项目接口文件"#;) .version("2.0") .description("项目接口文件"#;) .build(); Docket docket = new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo) .select() .apis(RequestHandlerSelectors.basePackage("需要测试方法的项目包名")) .paths(PathSelectors.any()) .build(); return docket; } /** * 静态资源映射设置 * @param registry */ protected void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); }}。
具体页面效果:

通过访问 "/doc.html" 资源路径,可访问此页面,这些方法可以很容易地通过这个页面进行测试。
具体页面效果:
通过访问 "/doc.html" 资源路径,您可以访问此页面通过这个页面测试这些方法非常方便。
补充: 若要使用 .built 创建对象,你需要导入 Lombok 这个库的 Maven 坐标。在 Maven 项目中,你可以在 pom.xml 以下依赖项添加到文件中#xff1a;
org.projectlombok lombok 1.18.20 实际上,使用 。
.builder 。目标是创建对象 Lombok 中的 。
@Builder 。注释功能。要使用 Lombok 的 。
@Builder 。
#xfff0c;您需要在Java类中添加它 。
@Builder 。
注释,而不是导入特定的 Lombok 库的 Maven 坐标。
3.0 Swagger 常见的注释。
可以通过注释控制生成的接口文档,使用接口文档具有更好的可读性。简单来说,,通过这些注释,可以解释类别、方法和方法中的属性,在测试方法的过程中,可以清楚地了解该方法或类别的用途和信息。

常用注释如下::

1)@Api("tags=对类描述"):类上比如 Controller ,表示对类的说明。
代码如下:
如下效果如下a; 。
2)@ApiModel(description="描述实体类"):用于实体类,比如 entity、DTO、VO 。
代码如下:

@Data@ApiModel(description = "员工登录时传递的数据模型")public class EmployeeLoginDTO implements Serializable { @ApiModelProperty("用户名") private String username; @ApiModelProperty("密码") private String password;}。
如下效果如下a;
。
3)@ApiModelProperty("描述属性"):在属性上,描述属性信息。

代码如下:
@Data@ApiModel(description = "员工登录时传递的数据模型")public class EmployeeLoginDTO implements Serializable { @ApiModelProperty("用户名") private String username; @ApiModelProperty("密码") private String password;}。
如下效果如下a;
4)@ApiOperation("描述方法"):使用方法,例如 Controller 方法,说明方法的用途和作用。


代码如下:@PostMapping @ApiOperation("新员工") public Result<String> save(@RequestBody EmployeeDTO employeeDTO){ log.info("新员工"); employeeService.save(employeeDTO); return Result.success(); }。如下效果如下a;