Apikit 自学日记:自动生成 API 文档

功能入口:API管理应用 / 选中某个项目 / 其他菜单 / 数据源同步(API文档自动生成)

该功能可通过配置数据源信息,实现基于数据源的API信息自动生成API文档。

当前支持5种数据源:Swagger URL、apiDoc、Github、gitlab、码云

Swagger URL & apiDoc 数据源

Swagger URL和apiDoc的数据源配置方式一致,仅需填写来源名称和json文件的访问地址即可。

  • 字段解析

  • 来源名称:用于标识该来源的名称,输入名称不影响同步效果。

  • json文件访问地址:Swagger URL或apiDoc生成的Json地址。注意该地址需可通过网络访问,以及该地址需可返回JSON类型的数据,否则会提示无法访问该地址。

 

Gitlab & github & 码云数据源

代码仓库类的数据源配置较为复杂,系统会远程读取仓库中的代码,根据Swagger 2.0的代码注解格式,自动生成对应的API文档。

  • 字段解析

  • 各代码仓库类型的数据源配置字段解析如下:

GitHub

配置项说明
代码仓库类型选择Github
代码仓库地址默认填写 GitHub: Let’s build from here · GitHub
用户名Github 账户名称
仓库名Github Repository 仓库名称
访问私钥仓库私人令牌在GitHub Repository 的Settings->Developer settings->Personal access tokens中生成
需要扫描的分支默认为 master 分支,您也可以选择实际需要扫描的代码分支
需要扫描的 API 目录路径API 层相关代码的存放路径
需要扫描的数据结构目录路径数据结构相关配置信息的存放路径
目标语言Java 或 PHP
注解格式默认为 Swagger 2.0,代码注释编写的格式参考下面的形式来写,或者参考官方文档 swagger-php/Examples at 2f66ec81d2bc4b82c26b250b187d5e9ea07b0538 · zircote/swagger-php · GitHub
数据同步方式目前可选增量更新、全量更新、仅添加新的 API 三种形式,API 研发管理平台 推荐采用增量更新的方式。每次同步之后,系统都会自动生成 API 历史版本方便回滚文档,因此即使操作失误也不用担心。
生成API文档的默认状态扫描得到的新增加的API的默认状态,默认是启用状态

GitLab

配置项说明
代码仓库类型选择Gitlab
代码仓库地址GitLab 有线上版本和用户自己搭建私有云版本,线上版本可以填写 The DevSecOps Platform | GitLab,如果是自己部署的 GitLab 则写域名或者IP端口
项目 IDGitLab 中的 project ID
访问私钥可以通过 GitLab 的 Access Tokens 功能获取
需要扫描的分支默认为 master 分支,您也可以选择实际需要扫描的代码分支
需要扫描的 API 目录路径API 层相关代码的存放路径,例如:src/main/java/com/example/demo/controller
需要扫描的数据结构目录路径数据结构相关配置信息的存放路径,例如:src/main/java/com/example/demo/model
目标语言Java 或 PHP
注解格式默认为 Swagger 2.0,代码注释编写的格式参考下面的形式来写,或者参考官方文档 swagger-php/Examples at 2f66ec81d2bc4b82c26b250b187d5e9ea07b0538 · zircote/swagger-php · GitHub
数据同步方式目前可选增量更新、全量更新、仅添加新的 API 三种形式,API 研发管理平台 推荐采用增量更新的方式。每次同步之后,系统都会自动生成 API 历史版本方便回滚文档,因此即使操作失误也不用担心。
生成API文档的默认状态扫描得到的新增加的API的默认状态,默认是启用状态

码云

配置项说明
代码仓库类型选择码云
代码仓库地址项目仓库的访问url,如Gitee - 企业级 DevOps 研发效能平台
空间名您在码云创建的空间名称,如eolinker
仓库名空间中的仓库名称,如goku
访问私钥码云的私人令牌
需要扫描的分支默认为 master 分支,您也可以选择实际需要扫描的代码分支
需要扫描的 API 目录路径API 层相关代码的存放路径
需要扫描的数据结构目录路径数据结构相关配置信息的存放路径
目标语言Java 或 PHP
注解格式默认为 Swagger 2.0,代码注释编写的格式参考下面的形式来写,或者参考官方文档 swagger-php/Examples at 2f66ec81d2bc4b82c26b250b187d5e9ea07b0538 · zircote/swagger-php · GitHub
数据同步方式目前可选增量更新、全量更新、仅添加新的 API 三种形式,API 研发管理平台 推荐采用增量更新的方式。每次同步之后,系统都会自动生成 API 历史版本方便回滚文档,因此即使操作失误也不用担心。
生成API文档的默认状态扫描得到的新增加的API的默认状态,默认是启用状态

同步配置

完成数据源配置后,需要对同步的业务逻辑进行配置。

数据同步方式

支持三种同步方式:增量更新、全量更新、仅添加新的API

  • 增量更新

  • 更新数据时,判断 API 和 API 的内容是否有变化,仅同步发生变化的部分。如增加新的 API、修改发生变化的 API 内容。适用于绝大多数情况,当您不知道如何选择时请选择这种方式,避免丢失数据。

  • 因为要做增量对比,故在选择增量更新时,需要选择用于判断API的唯一标识。可选择接口标识(operationId)、接口地址与请求方式结合判断、接口名称,三种方式。

  • 全量更新

  • 更新数据时,清空现有项目内所有 API,重新从数据源导入 API 信息。注意这种方式会导致之前编辑的 API 内容丢失,仅适用于小部分情况下重新导入所有 API 信息。

  • 仅添加新的API

  • 更新数据时,判断是否有新增的 API,如果有新增的API则添加新的 API,但不会删除已经不存在的 API,也不会更新现有 API 文档的内容。

状态设置 & 新文档分组

无论选择哪种数据同步方式,均可以分别配置新生成的文档状态和发生变更的文档状态。状态可选项为所有API文档的状态。

我们也可以设置新生成的文档添加到哪个分组下,默认是根目录。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HDLBits刷题笔记7:Circuits.Combinational Logic.Karnaugh Map to Circuit

Karnaugh Map to Circuit 3-variable 实现如下卡诺图,用sop和pos两种方式 化简: module top_module(input a,input b,input c,output out ); // sop和pos相同assign out a | b | c; endmodule4-variable 实现如下卡诺图,用sop和pos两种方…

【每日一题】Leetcode - 剑指 Offer 43. 1~n 整数中 1 出现的次数

题目 Leetcode - 剑指 Offer 43. 1&#xff5e;n 整数中 1 出现的次数 解题思路 分解数字中的每一位&#xff0c;判断记录 结果 class Solution {public int countDigitOne(int n) {int count 0;for (int i 1; i < n; i) {int localI i;while (localI / 10 ! 0) {in…

汽车通用LCD显示驱动电路芯片DP6524替代PT6524

DP6524是一款利用CMOS技术专门设计的通用LCD驱动IC&#xff0c;完全替代PT6524,采用单片机控制的电子调谐器。它的最大行驶速度可以达到204段输出&#xff0c;可控制多达12个通用输出端口。引脚分配和应用电路都进行了优化&#xff0c;易于PCB布局和节省成本的优势。 主要特性…

java安全——Java 默认沙箱

Java安全 Java 默认沙箱 程序设计者或者管理员通过改变沙箱的参数从而完成权限的变动更新 Java默认沙箱的设计目的是为了保护系统和用户的安全。Java虚拟机提供了一种机制&#xff0c;让Java应用程序在一个受限的环境中运行&#xff0c;也就是“沙箱”。这个沙箱能够在应用程序…

人脸考勤签到进阶篇

目录 签到业务流程说明 一、需求介绍 二、如何获取地理信息&#xff1f; 三、如何判定某地区新冠疫情的风险等级&#xff1f; 开通腾讯位置服务 二、腾讯位置服务SDK 把定位坐标转换成真实地址 一、获取定位坐标 uni.authorize(OBJECT) 二、编辑签到页面 在Docker中…

pytorch快速入门中文——04(训练图片分类器)

训练分类器 原文&#xff1a;https://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html#sphx-glr-beginner-blitz-cifar10-tutorial-py 就是这个。 您已经了解了如何定义神经网络&#xff0c;计算损失并更新网络的权重。 现在您可能在想&#xff0c; 数据呢&…

Kafka架构

5.kafka系统的架构 5.1主题topic和分区partition topic Kafka中存储数据的逻辑分类&#xff1b;你可以理解为数据库中“表”的概念&#xff1b; 比如&#xff0c;将app端日志、微信小程序端日志、业务库订单表数据分别放入不同的topic partition分区&#xff08;提升kafka吞…

c++11 标准模板(STL)(std::basic_ostream)(二)

定义于头文件 <ostream> template< class CharT, class Traits std::char_traits<CharT> > class basic_ostream : virtual public std::basic_ios<CharT, Traits> 类模板 basic_ostream 提供字符流上的高层输出操作。受支持操作包含有格式…

【SQL应知应会】分析函数的点点滴滴(二)

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习&#xff0c;有基础也有进阶&#xff0c;有MySQL也有Oracle 分析函数的点点滴滴 1.什么是分析函数&#xff1a;…

【Java-SpringBoot+Vue+MySql】前后端分离项目云端部署

目录 部署环境&#xff1a; 安装MYSQL&#xff1a; 安装Nginx 安装配置JDK 远程连接数据库 前端打包 后端打包 心得&#xff1a; 部署环境&#xff1a; CentOS7.6 MySQL5.7 JDK1.8 Nginx1.8 下载MySQL MySQL :: Download MySQL Community Server (Archived Versions) …

【探索 Kubernetes|作业管理 Deployment 篇 系列 12】水平扩展 / 收缩、滚动 / 回滚更新

前言 大家好&#xff0c;我是秋意零。 在上一篇中&#xff0c;我们介绍了控制器的基本设计思想&#xff1a;控制器模式。通过这个 “控制器模式” 我们来看看 Deployment 是如何依靠它来实现的。 最近搞了一个扣扣群&#xff0c;旨在技术交流、博客互助&#xff0c;希望各位…

IBM N系列存储和NetApp FAS之间的对应关系

IBM在很长一段时间都是OEM NetApp的FAS存储作为他的NAS产品线&#xff0c;在IBM叫做Storage N series&#xff0c;就是N系列&#xff0c;在2014年IBM终止了和NetApp之间的OEM关系&#xff0c;目前在市场上的OEM的NetApp存储型号主要是 FAS3000&#xff0c;FAS31和FAS32的中端系…