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
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值