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

国产前端框架 做网站百度空间登录入口

国产前端框架 做网站,百度空间登录入口,莆田房产网,装修之家一个好的项目,接口文档是非常重要的,除了能帮助前端和后端开发人员更快地协作完成开发任务,接口文档还能用来生成资源权限,对权限访问控制的实现有很大的帮助。 这篇文章介绍一下企业中常用的接口文档工具Knife4j(基于…

一个好的项目,接口文档是非常重要的,除了能帮助前端和后端开发人员更快地协作完成开发任务,接口文档还能用来生成资源权限,对权限访问控制的实现有很大的帮助。

这篇文章介绍一下企业中常用的接口文档工具Knife4j(基于Swagger实现)的使用。

SpringBoot整合Knife4j的步骤

创建项目

首先,通过Intellij IDEA创建一个springboot项目,命名为springboot-knife4j

修改配置

修改pom.xml

修改一下springboot的版本和java的版本(本篇文章使用springboot 2.5.9版本),然后添加knife4j的依赖。

完整的pom.xml文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.9</version><relativePath /></parent><groupId>cn.edu.sgu.www</groupId><artifactId>springboot-knife4j</artifactId><version>0.0.1-SNAPSHOT</version><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!--knife4j--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>2.0.9</version></dependency><!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.22</version><optional>true</optional></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-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_com@163.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案例项目icon-default.png?t=N7T8https://gitee.com/he-yunlin/springboot-knife4j.git

http://www.hengruixuexiao.com/news/41181.html

相关文章:

  • 做一份seo网站诊断设计外包网站
  • 培训公司网站源码宁波网站建设网站排名优化
  • 怎呀做网站域名注册价格及续费
  • wordpress 自动徐州seo排名收费
  • 视频上传网站建设深圳关键词推广排名
  • 工具类网站怎么优化seo网站推广方式组合
  • 做网站交接需要哪些权限seo推广学院
  • b站视频推广网站2024年整站优化排名
  • 网络运营的工作内容百度seo排名优化助手
  • 网站建设 外包是什么意思舆情网站直接打开
  • wordpress会员管理seo网站设计
  • 成都平面设计公司有哪些怎么优化推广自己的网站
  • 文章管理系统网站模板手机端网站排名
  • asp动态网站开发软件b站视频推广怎么买
  • 帮别人做网站的公司是外包吗seo百度推广
  • 百度飙风算法 小网站益阳网站seo
  • 南昌专业做网站今日头条热搜榜前十名
  • 做网站要费用多少百度投放
  • 网站的交互怎么做win10系统优化软件
  • 做自己卖东西的网站系统优化方法
  • 浦东企业网站建设5118营销大数据
  • 个人可以做网站维护吗找关键词
  • 中国空间站合作国家名单seo岗位工资
  • 网站建设小程序山东链接生成二维码
  • 做理财网站 程序员 违法吗疫情排行榜最新消息
  • 深圳做网站的网怎么建立网站?
  • wordpress如何添加关键词和描述福建seo顾问
  • 没有基础学做网站今日新闻联播
  • asp mdb制作网站登录天津优化加盟
  • 众安保险网站seo搜索引擎优化公司