当前位置: 首页 > wzjs >正文

如何自助建网站流量网站怎么做

如何自助建网站,流量网站怎么做,如何用js做网站,网络营销方案策划论文在现代的 Web 开发中,API 文档是不可或缺的一部分。Knife4j 是基于 Swagger 的增强工具,它不仅提供了更友好的 API 文档界面,还支持更多实用的功能,如离线文档导出、全局参数配置等。本文将详细介绍如何在 Spring Boot 2 和 Sprin…

在现代的 Web 开发中,API 文档是不可或缺的一部分。Knife4j 是基于 Swagger 的增强工具,它不仅提供了更友好的 API 文档界面,还支持更多实用的功能,如离线文档导出、全局参数配置等。本文将详细介绍如何在 Spring Boot 2Spring Boot 3 中集成 Knife4j,并讲解其常用配置和注解的使用方法。


一、Knife4j 简介

Knife4j(原名 Swagger-Bootstrap-UI)是 Swagger 的增强版,提供了以下核心功能:

  1. 更友好的界面:美观、简洁的 API 文档展示。
  2. 增强功能:支持离线文档导出、全局参数、调试增强等。
  3. 兼容性:支持 Swagger 2 和 OpenAPI 3 规范。
  4. 易用性:通过简单配置即可快速集成。

二、Spring Boot 2 中使用 Knife4j

1. 依赖引入

pom.xml 中添加 Knife4j 的依赖:

<XML>

<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.3</version>
</dependency>

2. 配置 Swagger

创建一个配置类,定义 Swagger 的基本信息:

<JAVA>

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;@Configuration
@EnableSwagger2
public class SwaggerConfig {@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.example.demo.controller")) // 扫描的包路径.paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("Knife4j Demo API").description("Spring Boot 2 with Knife4j Example").version("1.0").build();}
}

3. 编写 Controller

创建一个示例 Controller,用于生成 API 文档:

<JAVA>

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/api")
@Api(tags = "示例模块")
public class DemoController {@GetMapping("/hello")@ApiOperation(value = "示例接口", notes = "返回一个简单的问候语")public String hello() {return "Hello, Knife4j!";}
}

4. 访问 Knife4j 文档

启动项目,访问以下 URL:

  • Knife4j 文档页面:http://localhost:8080/doc.html
  • Swagger JSON 文档:http://localhost:8080/v2/api-docs

三、Spring Boot 3 中使用 Knife4j

1. 依赖引入

Spring Boot 3 使用 Jakarta EE 9+,因此需要引入 jakarta 版本的 Knife4j 依赖:

<XML>

<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId><version>4.2.0</version>
</dependency>

2. 配置 OpenAPI

创建一个配置类,定义 OpenAPI 的基本信息:

<JAVA>

import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class Knife4jConfig {@Beanpublic OpenAPI customOpenAPI() {return new OpenAPI().info(new Info().title("Knife4j Demo API").version("1.0").description("Spring Boot 3 with Knife4j Example"));}
}

3. 编写 Controller

创建一个示例 Controller,用于生成 API 文档:

<JAVA>

import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/api")
@Tag(name = "示例模块", description = "示例模块 API")
public class DemoController {@GetMapping("/hello")@Operation(summary = "示例接口", description = "返回一个简单的问候语")public String hello() {return "Hello, Knife4j!";}
}

4. 访问 Knife4j 文档

启动项目,访问以下 URL:

  • Knife4j 文档页面:http://localhost:8080/doc.html
  • OpenAPI 3 JSON 文档:http://localhost:8080/v3/api-docs

四、Knife4j 常用配置

1. 配置启用 Knife4j

application.yml 中配置:

<YAML>

knife4j:enable: true # 启用 Knife4jsetting:language: zh-CN # 界面语言为中文enable-swagger-models: true # 显示 Modelsenable-default-params: true # 启用默认参数

2. 离线文档导出

Knife4j 支持将文档导出为 Markdown、HTML 或 Word 格式:

  1. 访问 Knife4j 文档页面。
  2. 点击右上角的“离线文档”按钮。
  3. 选择导出格式并下载。

3. 全局参数

在 Swagger 配置类中添加全局参数:

<JAVA>

import springfox.documentation.service.ApiKey;
import springfox.documentation.service.SecurityScheme;@Bean
public Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).securitySchemes(Collections.singletonList(new ApiKey("Authorization", "Authorization", "header"))).select().apis(RequestHandlerSelectors.basePackage("com.example.demo.controller")).paths(PathSelectors.any()).build();
}

五、Knife4j 常用注解

1. 类级别注解

  • @Api(Swagger 2)(springboot2使用注解):用于标识 API 模块的名称。

    <JAVA>

    @Api(tags = "示例模块")
  • @Tag(OpenAPI 3 (springboot3使用注解)):用于标识 API 模块的名称。

    <JAVA>

    @Tag(name = "示例模块", description = "示例模块 API")

2. 方法级别注解

  • @ApiOperation(Swagger 2)(springboot2使用注解):用于描述 API 接口的详细信息。

    <JAVA>

    @ApiOperation(value = "示例接口", notes = "返回一个简单的问候语")
  • @Operation(OpenAPI 3)(springboot3使用注解):用于描述 API 接口的详细信息。

    <JAVA>

    @Operation(summary = "示例接口", description = "返回一个简单的问候语")

3. 参数级别注解

  • @ApiParam(Swagger 2)(springboot2使用注解):用于描述 API 参数。

    <JAVA>

    @ApiParam(name = "name", value = "用户名称", required = true)
  • @Parameter(OpenAPI 3)(springboot3使用注解):用于描述 API 参数。

    <JAVA>

    @Parameter(name = "name", description = "用户名称", required = true)

六、总结

Knife4j 是 Swagger 的增强版,适合在 Spring Boot 项目中生成美观、功能强大的 API 文档。本文详细介绍了如何在 Spring Boot 2 和 Spring Boot 3 中集成 Knife4j,并讲解了常用配置和注解的使用方法。

如果你正在为 API 文档的生成和展示而烦恼,不妨试试 Knife4j,它会为你的开发工作带来极大的便利!😊


参考资源

  • Knife4j 官方文档
  • Swagger 官方文档

希望这篇博客对你有所帮助,欢迎在评论区分享你的使用体验或提出问题!🚀

http://www.dtcms.com/wzjs/549417.html

相关文章:

  • 网站开发前后端东莞网络科技有限公司简介
  • 做网站linux和win国家高新技术企业专利要求
  • 大连开发区网站开发公司电话北京互联网公司前10强有哪些
  • 公司网站制作应该注意些什么wordpress+克隆插件
  • 旅游网站建设服务对象wordpress 页面分级
  • 肯达建设网站做外贸公司网站怎么做
  • 网站申请名称wordpress仿站上传到
  • 北京网站优化页面拓者设计吧 现代风格
  • 网页设计素材网站有哪些wordpress 下载弹窗插件
  • 网站展现形式个人单页网站模板
  • 深圳交易网站建设最近的热点新闻事件
  • 安徽网站优化价格咨询网站建设发布平台
  • 域名注册网站源码代理网游
  • 网站系统开发怎么做wordpress能不能导入html
  • 网站建设公司 成都个人求职网站履历怎么做
  • 小纯洁网站开发深圳龙华区是不是很偏
  • 网站优化方式有哪些没文化可以学网络营销吗
  • 做网站属于无形资产还是费用室内效果图代做网站
  • 网站开发了解客户需求魔云手机建站
  • 桂林 门户网站一站式媒体发稿平台
  • 郴州竞价网站建设方案企业级网站欣赏
  • 网站模板哪个网站好装修网站怎么做的好
  • 做视频网站带宽不够怎么办怎样判断网站的seo信息好坏
  • 公司旅游视频网站模板烟台网站建设烟台
  • 制作网站软件用什么语言wordpress 友情链接 nofollow
  • 个人网站logo图片wordpress 4.7解析
  • 网站预付款怎么做会计分录赣州百度
  • mvc中手把手做网站网站建站ddp
  • 怎样攻击网站营销型网站建设的重要原则
  • asp.net网站建设ppt路桥区高质量营销型网站建设