knife4j接口文档

news2024/7/4 4:27:55
knife4j可以通过访问本地页面,实现对项目接口的管理:

这样我们就不需要用postman软件调用接口了。

Mevan导包:

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

配置 knife4j:

package com.quxiao.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.service.Parameter;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;

import java.util.ArrayList;
import java.util.List;

/**
 * @program: yghtgl
 * @author: quxiao
 * @create: 2023-06-12 08:44
 **/
@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfig {
    @Bean
    public Docket adminApiConfig(){
        List<Parameter> pars = new ArrayList<>();
        ParameterBuilder tokenPar = new ParameterBuilder();
        tokenPar.name("token")
                .description("用户token")
                .defaultValue("")
                .modelRef(new ModelRef("string"))
                .parameterType("header")
                .required(false)
                .build();
        pars.add(tokenPar.build());
        //添加head参数end

        Docket adminApi = new Docket(DocumentationType.SWAGGER_2)
                .groupName("adminApi")
                .apiInfo(adminApiInfo())
                .select()
                //只显示admin路径下的页面
                .apis(RequestHandlerSelectors.basePackage("com.quxiao"))
                .paths(PathSelectors.regex("/admin/.*"))
                .build()
                .globalOperationParameters(pars);
        return adminApi;
    }
    private ApiInfo adminApiInfo(){

        return new ApiInfoBuilder()
                .title("后台管理系统-API文档")
                .description("本文档描述了后台管理系统微服务接口定义")
                .version("1.0")
                .contact(new Contact("quxiao", "http://quxiao.com", "1458798260@qq.com"))
                .build();
    }
}

然后再后端接口上加上注解:

package com.quxiao.controller;

import com.quxiao.pojo.SysRole;
import com.quxiao.service.SysRoleServiceImpl;
import com.quxiao.util.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @program: yghtgl
 * @author: quxiao
 * @create: 2023-06-11 09:45
 **/
@Api(tags = "角色管理接口")
@RestController
@RequestMapping("/admin/system/sysRole")
public class SysRoleController {
    @Autowired
    SysRoleServiceImpl service;

    //查询all记录
    @ApiOperation(value = "查询all记录")
    @GetMapping("sysRoleSelAll")
    public Result<List<SysRole>> sysRoleSelAll() {
        return Result.ok(service.list());
    }

    //删除sysRoleDel
    @ApiOperation(value = "删除sysRoleDel")
    @DeleteMapping("remove/{id}")
    public Result<Boolean> sysRoleDel(@PathVariable Long id) {
        boolean b = service.removeById(id);
        if (b) {
            return Result.ok(b);
        }
        return Result.fail(b);
    }

}

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

就可以了

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/636568.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

项目经理必学的五个时间管理方法,帮你高效规划工作

作为一名项目经理&#xff0c;时间管理是你必须掌握的关键技能。常年加班&#xff0c;迎面而来的凌晨夜空&#xff0c;这些只能成为过去式。下面&#xff0c;我们将为你介绍五个行之有效的时间管理方法&#xff0c;帮助你高效规划工作&#xff0c;达成更多目标。 1、树立明确…

OpenAI官方提示词课(四)如何进行文字的情感分析

这节介绍大模型判断文字的语义&#xff0c;或者说对内容进行情感分析的能力。同时也演示了大模型如何提取出文字中的关键信息。 在传统的机器学习方案中&#xff0c;要做到对文字内容的情感分析&#xff0c;需要先对一系列的文字内容&#xff08;如评论&#xff09;进行人工标…

如何拍照识别植物?拍照识别植物的方法教学

植物是我们生活中不可或缺的一部分&#xff0c;它们不仅为我们提供氧气和美丽的景观&#xff0c;还是人类食品和药物来源之一。而随着科技水平的提高&#xff0c;越来越多的研究者开始探索如何利用图像识别技术对植物进行自动化识别和分类&#xff0c;以帮助我们更好地了解植物…

英雄算法联盟 | 七月集训报名通道开启

文章目录 前言一、英雄算法集训二、编程零基础预训练三、九日集训四、咨询答疑五、常见问题六、报名方式 前言 通知&#xff1a;英雄算法联盟六月集训 已经开始12天&#xff0c;七月算法集训将于 07月01日 正式开始&#xff0c;目前已经提前开始报名&#xff0c;报名方式见文末…

【大数据】一篇文章带你入门HBase

本文已收录至Github&#xff0c;推荐阅读 &#x1f449; Java随想录 文章目录 HBase特性Hadoop的限制基本概念NameSpaceTableRowKeyColumnTimeStampCell 存储结构HBase 数据访问形式架构体系HBase组件HBase读写流程读流程写流程 MemStore Flush参数说明 StoreFile Compaction参…

剑指 Offer 09: 用两个栈实现队列

简单明了&#xff0c;带你直接看懂题目和例子。 输入&#xff1a; ["CQueue","appendTail","deleteHead","deleteHead"] 这里是要执行的方法&#xff0c;从左到右执行 [[],[3],[],[]]对应上面的方法&#xff0c;是上面方法的参数。CQ…

Android Fragment跳转Activity使用startActivityForResult获取返回值

前言 Fragment跳转Activity使用startActivityForResult获取返回值 如果直接获取是获取不到结果的 需要在fragment所属的activity中遍历 Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resul…

智驾差异化周期下的「芯」风向

随着中国市场进入智能驾驶「差异化」竞争周期&#xff0c;车企对于核心算力芯片的可选项&#xff0c;正在变得越来越多。一方面&#xff0c;车企在寻求更高性价比的替代&#xff08;升级&#xff09;方案&#xff1b;另一方面&#xff0c;多元化的需求&#xff08;舱泊一体、行…

解决获取taro全局配置文件失败,找不到配置文件失败问题

问题&#xff1a;这会导致项目初始化不成功&#xff0c;即要用vuets生成项目的话&#xff0c;依旧是wxml&#xff0c;js的文件&#xff0c;而不是vue文件 解决一&#xff1a;首先找到配置文件目录 删除taro开头的三项文件&#xff0c;再去node_modules下删除tarojs 然后去终…

Excel怎么设置密码?这4个方法必须掌握!

案例&#xff1a;做报表时有些很重要的数据不想被别人改动&#xff0c;Excel怎么设置密码呀&#xff1f; 【用Excel制作一些报表时怎么为Excel设置密码呢&#xff1f;因为有些数据比较重要&#xff0c;想将Excel设置密码。请大家帮帮我&#xff01;】 Excel是一款常用的电子表…

推荐几个好用的AI 工具

文章目录 思维导图gmindAI文档写作工具notion aiAI 辅助阅读工具&#xff1a;ChatDOCAI 笔记软件& 知识库&#xff1a;FlowUsAI 一键生成 PPT&#xff1a;ChatPPT、MotionGo专业 PPT 插件&#xff1a;iSlideAI 智能设计工具&#xff1a;Logosc 标小智 思维导图gmind https:…

Linux内核中内存管理相关配置项的详细解析4

接前一篇文章&#xff1a;Linux内核中内存管理相关配置项的详细解析3 二、SLAB allocator options 1. Choose SLAB allocator 此选项选择一个slab分配器。 此项展开后如下图所示&#xff1a; SLAB 对应配置变量为&#xff1a;CONFIG_SLAB。 内核源码详细解释为&#xff1a…

Vue3 + TS + Vite —— 大屏可视化 项目实战

前期回顾 Vue3 Ts Vite pnpm 项目中集成 —— eslint 、prettier、stylelint、husky、commitizen_彩色之外的博客-CSDN博客搭建VIte Ts Vue3项目并集成eslint 、prettier、stylelint、huskyhttps://blog.csdn.net/m0_57904695/article/details/129950163?spm1001.2014…

一年肝4个项目,10万+行代码,面试妥妥的

大家好&#xff0c;我是冰河~~ 最近很多小伙伴私信问我&#xff1a;目前所在的公司工资比较低&#xff0c;已经很久没有涨薪了&#xff0c;想跳槽&#xff0c;找一份工资更高的工作&#xff0c;但是苦于平时所做的项目就是一些简单的CRUD操作&#xff0c;没有什么技术含量&…

习惯了VSCode的快捷键,如何让HbuilderX快捷键也和VSCode一样?

hbuilderX uni-app 自定义快捷键无效、无法生效解决方法&#xff08;附&#xff1a;好用的常用的快捷键自定义代码片段&#xff09;_你挚爱的强哥的博客-CSDN博客才能让原有默认的快捷键被覆盖。https://blog.csdn.net/qq_37860634/article/details/131161953

如何在 Python 中给请求设置用户代理 User-Agent

文章目录 了解 HTTP 标头的工作原理在 Python 中获取用户代理数据在 Python 中使用请求设置用户代理值在 Python 中为请求版本 2.12 设置用户代理请求在 Python 中为请求版本 2.13 设置用户代理请求 本文介绍 HTTP 标头用户代理主题以及如何使用 Python 中的请求设置用户代理。…

Python实验: tkinker 的实践

一、实验内容 1、登录界面 2、制作菜单栏 3、实现聊天窗口 4、访问本地一张照片并展示 二、实验过程 1、 import tkinter as tk import tkinter.messagebox import pickleroot tkinter.Tk() root.geometry(400x300) root.title("武理工欢迎你&#xff01;")# 画布…

2023-6-11-第二式抽象工厂模式

&#x1f37f;*★,*:.☆(&#xffe3;▽&#xffe3;)/$:*.★* &#x1f37f; &#x1f4a5;&#x1f4a5;&#x1f4a5;欢迎来到&#x1f91e;汤姆&#x1f91e;的csdn博文&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f49f;&#x1f49f;喜欢的朋友可以关注一下&#xf…

【macbookpro】重装ventura系统

intel 的cpu 的macbook pro 13寸定制版本。 大神们遇到的问题很专业 格式化 mac数据恢复 更新软件 通过“macOS 恢复”重新安装 macOS 大神们说固件是因为时间不对&#xff0c;从美国服务器下载的 打开日志,我看了下我的时间也不对 好像至少要下载2个文件&#xff0c;一…

MATLAB涡度通量数据处理实践技术应用

基于MATLAB语言、以实践案例为主&#xff0c;提供代码、原理与操作结合 1、以涡度通量塔的高频观测数据为例&#xff1a;基于MATLAB开展上机操作 2、涡度通量观测基本概况&#xff1a;观测技术方法、数据获取与预处理等 3、涡度通量数据质量控制&#xff1a;通量数据异常值识…