Knife4j 3.0.3的使用

一、使用版本

SpringBoot 2.7.3

Knife4j 3.0.3

二、使用方法

1.导入依赖

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

如果不导入织入包,访问doc.html的时候会报找不到资源的错误

2.编写配置文件

package com.forum.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
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;

/**
 * 
 * @date: 2023/11/7 20:55
 * @author: hongdou
 */
@Configuration
@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer{

    /**
     * 通过Knife4j生成管理端接口文档
     * @return
     */
    @Bean
    public Docket docketAdmin() {
        ApiInfo apiInfo = new ApiInfoBuilder()
                .title("IT技术交流文档")
                .version("1.0")
                .description("IT技术交流用户端的接口稳定")
                .build();

        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .groupName("user_管理端接口")
                .apiInfo(apiInfo)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.forum.controller.user"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }

    /**
     * 静态资源映射
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry){
        registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }


}

3.在代码中使用

@API

@ApiOperation

@ApiModel 【此处未使用】

@ApiModelProperty【此处未使用】

package com.forum.controller.user;

import com.forum.dto.UserDTO;
import com.forum.entity.User;
import com.forum.result.Result;
import com.forum.server.UserService;
import com.forum.vo.UserVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * @date: 2023/11/7 13:20
 * @author: hongdou
 */
@Slf4j
@Api(tags = "用户登录和注册接口")
@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    /**
     * 登录功能
     * @param userDTO
     * @return
     */
    @ApiOperation("登录功能")
    @PostMapping("/login")
    public Result<UserVo> login(@RequestBody UserDTO userDTO){
        log.info("{}",userDTO);
        User user = userService.login(userDTO);

        UserVo userVo = UserVo.builder()
                .id(user.getId())
                .name(user.getName())
                .image(user.getImage())
                .token("123454")
                .build();
        return Result.success(userVo);
    }
}

4.测试

访问:http://localhost:8080/doc.html


 

至此,knife4j的基本使用就介绍完了!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Cloud项目中集成Knife4j,你可以按照以下步骤进行操作: 1. 首先,在你的Spring Cloud项目的pom.xml文件中添加相关依赖。根据引用中的信息,你需要添加两个依赖:`springfox-boot-starter`和`knife4j-spring-boot-starter`。 2. 示例代码如下: ```xml <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>3.0.3</version> </dependency> ``` 3. 接下来,你需要在你的Spring Cloud项目的配置文件中进行一些配置。在`application.properties`或`application.yml`文件中,添加以下配置项: ```yaml #swagger配置 knife4j: # 开启swagger-bootstrap-ui文档 enabled: true # swagger的访问路径 api-path: /doc.html # knife4j的访问路径 bootstrap-path: /bootstrap.html # 是否开启文档页面 webjars-configuration.enabled: true # 文档的标题 title: Your API Documentation # 文档的描述 description: This is a sample API documentation generated by Knife4j. # 作者 version: 1.0.0 # 需要生成文档的包路径 base-package: com.example.controller ``` 4. 替换`title`和`description`为你自己的API文档标题和描述。 5. 最后,你可以启动你的Spring Cloud项目并访问`http://localhost:port/doc.html`来查看生成的Knife4j API文档。 请注意,以上步骤仅适用于Spring Cloud项目集成Knife4j,并且假设你已经配置好了其他必要的Spring Cloud组件。如果你的项目中缺少其他必要的配置,请根据你的实际情况进行相应的配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值