江苏网站建设yijuce微信的定制开发
- 作者: 五速梦信息网
- 时间: 2026年03月21日 10:39
当前位置: 首页 > news >正文
江苏网站建设yijuce,微信的定制开发,注册网络公司,台州网站推广技巧付费一个好的项目#xff0c;接口文档是非常重要的#xff0c;除了能帮助前端和后端开发人员更快地协作完成开发任务#xff0c;接口文档还能用来生成资源权限#xff0c;对权限访问控制的实现有很大的帮助。 这篇文章介绍一下企业中常用的接口文档工具Knife4j#xff08;基于…一个好的项目接口文档是非常重要的除了能帮助前端和后端开发人员更快地协作完成开发任务接口文档还能用来生成资源权限对权限访问控制的实现有很大的帮助。 这篇文章介绍一下企业中常用的接口文档工具Knife4j基于Swagger实现的使用。 SpringBoot整合Knife4j的步骤 创建项目 首先通过Intellij IDEA创建一个springboot项目命名为springboot-knife4j 修改配置 修改pom.xml 修改一下springboot的版本和java的版本本篇文章使用springboot 2.5.9版本然后添加knife4j的依赖。 完整的pom.xml文件内容 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.5.9/versionrelativePath //parentgroupIdcn.edu.sgu.www/groupIdartifactIdspringboot-knife4j/artifactIdversion0.0.1-SNAPSHOT/versionpropertiesjava.version1.8/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!–knife4j–dependencygroupIdcom.github.xiaoymin/groupIdartifactIdknife4j-spring-boot-starter/artifactIdversion2.0.9/version/dependency!–lombok–dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.22/versionoptionaltrue/optional/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build /project 修改application.yml 开启knife4j的增强模式 knife4j:enable: true 创建Knife4j配置类 package cn.edu.sgu.www.knife4j.config;import com.github.xiaoymin.knife4j.spring.extension.OpenApiExtensionResolver; import org.springframework.beans.factory.annotation.Autowired; 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.service.Contact; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;/*** Knife4j配置类* author heyunlin* version 1.0/ Configuration EnableSwagger2WebMvc public class Knife4jConfig {// 指定Controller包路径必须private static final String basePackage cn.edu.sgu.www.knife4j.controller;private static final String host LAPTOP-0N6P8HTP;private static final String title Spring Boot整合Knife4j案例项目;private static final String description title 在线API文档;private static final String termsOfServiceUrl https://www.apache.org/licenses/LICENSE-2.0;private static final String contactName heyunlin; // 联系人private static final String contactUrl https://gitee.com/he-yunlin;private static final String contactEmail heyl163_com163.com;private static final String version 1.0.0;private final OpenApiExtensionResolver openApiExtensionResolver;Autowiredpublic Knife4jConfig(OpenApiExtensionResolver openApiExtensionResolver) {this.openApiExtensionResolver openApiExtensionResolver;}Beanpublic Docket docket() {String groupName 1.0.0;return new Docket(DocumentationType.SWAGGER_2).host(host).apiInfo(apiInfo()).groupName(groupName).select().apis(RequestHandlerSelectors.basePackage(basePackage)).paths(PathSelectors.any()).build().extensions(openApiExtensionResolver.buildExtensions(groupName));}private ApiInfo apiInfo() {return new ApiInfoBuilder().title(title).description(description).termsOfServiceUrl(termsOfServiceUrl).contact(new Contact(contactName, contactUrl, contactEmail)).version(version).build();}} 创建控制器类 新建UserController类上使用Api注解在方法上使用ApiOpration注解 package cn.edu.sgu.www.knife4j.controller;import cn.edu.sgu.www.knife4j.dto.UserLoginDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;/** author heyunlin* version 1.0/ Api(tags 用户管理) RestController RequestMapping(/user) public class UserController {ApiOperation(登录认证)PostMapping(login)public String login(UserLoginDTO userLoginDTO) {return 登录成功;}} 创建传输对象实体类 package cn.edu.sgu.www.knife4j.dto;import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data;/** author heyunlin* version 1.0/ Data ApiModel public class UserLoginDTO {ApiModelProperty(value 用户名, required true)private String username;ApiModelProperty(value 密码, required true)private String password; } 除此之外Knife4j还提供了使用在参数上的注解如ApiParam package cn.edu.sgu.www.knife4j.controller;import cn.edu.sgu.www.knife4j.dto.UserLoginDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;/** author heyunlin* version 1.0*/ Api(tags 用户管理) RestController RequestMapping(/user) public class UserController {ApiOperation(登录认证)PostMapping(/login)public String login(UserLoginDTO userLoginDTO) {return 登录成功;}ApiOperation(用户注册)PostMapping(/register)public String register(ApiParam(value 用户名, required true) String username,ApiParam(value 密码, required true) String password) {return 注册成功;}} 最后启动项目访问localhost:端口号/doc.html 好了文章就分享到这里了代码已经上传到gitee可按需获取~ Spring Boot整合Knife4j案例项目https://gitee.com/he-yunlin/springboot-knife4j.git
相关文章
-
江苏网站建设 seo注册会计师报考条件和时间2023
江苏网站建设 seo注册会计师报考条件和时间2023
- 技术栈
- 2026年03月21日
-
江苏网站关键词优化优化我想了解怎么开网店
江苏网站关键词优化优化我想了解怎么开网店
- 技术栈
- 2026年03月21日
-
江苏网站seo设计建设简易电子商务网站流程图
江苏网站seo设计建设简易电子商务网站流程图
- 技术栈
- 2026年03月21日
-
江苏网站建设方案开发一个区块链app多少钱
江苏网站建设方案开发一个区块链app多少钱
- 技术栈
- 2026年03月21日
-
江苏网站建设空间搜索引擎优化自然排名的区别
江苏网站建设空间搜索引擎优化自然排名的区别
- 技术栈
- 2026年03月21日
-
江苏网站建设平台信息咨询公司网站源码
江苏网站建设平台信息咨询公司网站源码
- 技术栈
- 2026年03月21日
