还可以让ChatGPT生成符合OpenAPI 3.0规范的接口文档,以便于项目相关成员阅读,如图5-13所示。 为什么要生成OpenAPI 3.0规范的接口文档呢? address1: type: string description: 街道地址 address2: 接口文档的生成过程并不是最重要的,最重要的是确保生成的接口文档内容准确无误、简明清晰,能够让项目相关人员容易理解。 一些企业可能存在没有接口文档的情况,这会给测试人员的接口测试工作带来困难。测试人员不仅需要分析接口的输入和输出,还需要负责编写接口文档,这容易导致漏测情况的发生。 (3) 进行多轮提问修正 事实上,我们在使用ChatGPT生成接口文档时可能不会“一气呵成”,有时可能需要同ChatGPT进行多轮会话,才能生成最终的接口文档。
本文主要是提供了一个接口文档的范文,内容修订历史、目录、时序图、接口要素描述、接口说明、使用示例、字典、FAQ。 使用MD格式文档(makedown),选择原因,容易格式转换,开发便于修改,版本维护界面,修改记录明显,普通文本工具即可编辑。 下方是接口文档的示例: **API说明** ## 修订历史 | 日期 | 内容 ————————— | ——– | —— | | 2021/09/10 | 初稿 | Ver. 1.0 | NHK| ## 目录 [TOC] ## 文档介绍 本文档用于XXX业务的接口说明和使用说明。
type": "" } 用户主动注册:预注册 /users/presign { "userName":"", "password":"", "password2" :"", "type": "" } 参数说明 1、userName 手机号或者账号 2、password 密码 3、password2 支付订单后6位 4、type 设备唯一编号
1、XXX项目接口文档版本控制信息版本日期描述作者V1.02018-8-13创建XXX1 获取所有字段1.1 获取所有字段请求地址:/session/field/findAll请求参数参数名必填字段类型描述 2、,id:7,name:XX,totals:02 文件上传2.1 文件上传(ajax)请求地址:/session/file/upload请求参数参数名必填字段类型描述file是FormDataFormData id=2&name=test响应例子:code:10000,exception:null,isSuccess:true,message:成功,系统处理正常! id=2响应例子:code:10000,exception:null,isSuccess:true,message:成功,系统处理正常!,page:0,pageSize:0,returnList。 5、Size:0,returnObject:null,returnValue:id:2,name:re,totals:03.4 获取所属类型列表请求地址:/session/fieldType/selectAll
文章目录 Swagger2 学习 1、前提准备 2、快速体验 3、Swagger 配置 (1)设置基本信息 (2)设置接口文档的相关配置 apis方法 paths方法 build 方法 1)设置扫描包路径 ,查看接口文档的地址是 localhost:8080/swagger-ui.html 在开发的时候前后端分离需要生成接口文档,我们需要在 启动类 或者 配置类 上打开*Swagger服务,需要使用@EnableSwagger2 快速体验 写一下控制层的接口, swagger 会默认根据@Conrtoller注解识别 Controller层里的接口,直接渲染到接口文档的ui界面中 package com.study.controller 点开具体的接口,查看接口文档的具体信息 3、Swagger 配置 (1)设置基本信息 Docket :描述一组文档的所有信息,相当于Swagger文档全局的上下文对象,可以创建多个docket实现文档分组查看不同人员写的接口 ); 运行项目,查看效果 (2)设置接口文档的相关配置 主要通过 ApiSelectBuilder 提供的方法来进行设置接口的一些配置,ApiSelectBuilder 通过 docket.select
分享一些自己收集的api,大家可以自己去创作有自己风格的项目 网易云音乐的api数据接口, 基础访问地址(api的跟地址)为:https://autumnfish.cn/,接口文档地址: https: id=neteasecloudmusicapi 点击查看文档,就可以进入接口文档的详细使用步骤了。 音乐接口文档;QQ音乐接口文档 QQ音乐接口文档地址(api接口根地址):https://rain120.github.io/qq-music-api 网页效果: 黑马优购的电商文档(里面内容有点小问题 page_id=2516997897914014 页面效果: 追书神器小说api(现在不能获取章节内容, 可以通过简单的爬虫抓取数据)接口文档请查阅: https://www.cnblogs.com /Stars-are-shining/p/13345856.html 快看漫画api接口, 自己抓取的接口 https://www.kuaikanmanhua.com/v2/pweb/daily/topics
annotations.EnableSwagger2; /** * API接口文档配置 * * @Author MiChong * @Email: 1564666023@qq.com * @ 再通过@EnableSwagger2注解来启用Swagger2。 select()函数返回一个ApiSelectorBuilder实例用来控制哪些接口暴露给Swagger来展现,本例采用指定扫描的包路径来定义,Swagger会扫描该包下所有Controller定义的API ,并产生文档内容(除了被@ApiIgnore指定的请求)。 3、添加文档内容 在完成了上述配置后,其实已经可以生产文档内容,但是这样的文档主要针对请求本身,而描述主要来源于函数等命名产生,对用户并不友好,我们通常需要自己增加一些说明来丰富文档内容。
http://mpvideo.qpic.cn/0bf2cmaagaaa6aaocrxfezpfae6damjqaaya.f10002.mp4?
它可以自动帮我们提取接口中的信息,从而形成接口文档,而且内容十分详细,再也不用为写接口文档而心烦了 这个库主要实现了3个目标 从DRF中提取更多的schema信息 提供灵活性,使schema在现实世界中可用 drf-spectacular有健全的默认设置,非常好用开箱即用,不需要指定任何设置,但我们建议至少指定一些元数据 SPECTACULAR_SETTINGS = { 'TITLE': 'API接口文档 ] 然后我们启动项目,访问http://127.0.0.1:8000/api/schema/swagger-ui/,就会出现接口文档 我们可以看到图上有我们之前在settings.py中配置的 TITLE和DESCRIPTION和VERSION,如果想自定义更多的设置,请看文档 自定义接口内容信息 上面我们可以访问swagger接口文档,但是我们点开接口会发现没有任何内容信息 所以我们还需要在 view视图中,使用装饰器@extend_schema来制定接口文档中的接口信息 我们先来看下装饰器extend_schema的源码 def extend_schema( operation_id
这个解释简单点来讲就是说,swagger是一款可以根据restful风格生成的接口开发文档,并且支持做测试的一款中间软件。 缺点:增加了开发成本,写接口还得再写一套参数配置 2、对前端开发来说 后端只需要定义好接口,会自动生成文档,接口功能、参数一目了然 联调方便,如果出了问题,直接测试接口,实时检查参数和返回值,就可以快速定位是前端还是后端的问题 :) 2、配置pom.xml文件 1 <? RequestHandlerSelectors.basePackage("com.dds.sbswagger.controller")) 28 //加了ApiOperation注解的类,才生成接口文档 private ApiInfo apiInfo() { 36 return new ApiInfo( 37 "Spring Boot项目集成Swagger实例文档
ApiAddressController|收货地址管理控制器 获取收货地址列表信息 接口说明:通过用户名获取地址列表信息 接口地址:/address/find 请求方式:GET 请求参数:无 添加或更新收货地址 地址 query true Address 删除收货地址 接口说明:根据addressID删除收货地址 接口地址:/address/delete 请求方式:POST 请求参数: 参数名称 说明 in 接口地址:/catalog/getGoodsByID 请求方式:GET 请求参数:无 筛选后的商品信息 接口说明:根据筛选条件获取筛选后的商品信息 接口地址:/catalog/getGoodsByAttribute |用户收藏管理控制器 添加收藏 接口说明:根据用户名添加收藏 接口地址:/collect/addCollect 请求方式:GET 请求参数:无 获取用户收藏的商品 接口说明:根据用户名获取该用户收藏的商品 接口地址:/collect/getCollect 请求方式:GET 请求参数:无 删除用户收藏的商品 接口说明:根据用户商品收藏ID删除该用户收藏的商品 接口地址:/collect/delete 请求方式
一、什么是接口文档? 在项目开发中,web项目的前后端分离开发,APP开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根据这个接口文档进行开发,到项目结束前都要一直维护。 二、为什么要写接口文档? 1、项目开发过程中前后端工程师有一个统一的文件进行沟通交流开发 2、项目维护中或者项目人员更迭,方便后期人员查看、维护 RESTful 接口: REST 是一个很流行的前后端交互形式的约定。 这只是一套约定,并不是某个技术标准.REST 充分利用了 HTTP 规范中的方法,达到接口描述的语义化 安全: 1.使用HTTPS协议 2.数据加密 权限处理: 1.客户端接口,携带验证token 2. WEB端接口,使用SESSION验证机制 ?
这些接口不但会服务于传统的web端(b/s),也会服务于移动端。在实际开发过程中,这些接口还要提供给开发测试进行相关的白盒测试,那么势必存在如何在多人协作中共享和及时更新API开发接口文档的问题。 假如你已经对传统的wiki文档共享方式所带来的弊端深恶痛绝,那么尝试一下Swagger2 方式,一定会让你有不一样的开发体验: 功能丰富 :支持多种注解,自动生成接口文档界面,支持在界面测试API接口功能 ; 及时更新 :开发过程中花一点写注释的时间,就可以及时的更新API文档,省心省力; 整合简单 :通过添加pom依赖和简单配置,内嵌于应用中就可同时发布API接口文档界面,不需要部署独立服务。 API接口输入输出在代码中通过注解进行相关描述,下面给出一个接口描写示例,具体的写法可以参考其api文档的具体说明: 代码块 @Api(value = "PageController", description ,不仅可以看到自动生成的所有API文档信息,还可以对任意接口进行在线测试,非常方便:
接口特性 module的方式发布,无侵入 接口显式声明 接口版本管理 基于yii2 自身的 validator 自动生成接口文档 在线测试工具 关键字搜索相关接口 自由灵活的配置,关键类可以自定义替换 user' => [ 'identityClass' => 'wuyuxifeng\demo\Identity', //这是用与测试的Identity ], ] myapi是module的名字,请自定义 接口文档访问地址 key=upload 配置选项 apiConfig : 接口定义的配置 defaultVersion : 默认的版本号 overviewHtml:文档页面overview的模板 docTitle:文档中心的标题 =>[ 'user' =>'用户', 'user.get' => \wuyuxifeng\demo\v2\user\Get::class, //..... ] ]; 每个接口都有如下选项 class: 对于需要认证的接口中可以使用 Yii::$app->user->identity 获取用户的实例 returnJson() 返回示例,用于生成接口文档中的示例 json handle 的注解用来生成在线文档的返回字段
背景 接触过几个针对flask自动生成接口文档的,但是感觉不太好用,然后发现了flask-docs,地址:https://github.com/kwkwc/flask-docs 但是感觉还是不太好用, 就进行了魔改 地址 https://gitee.com/heanny/flask-docs 添加的功能 可修改接口文档分类为中文 接口文档页面布局进行了优化美观 生成接口文档的方法进行了重构,并添加了部分兼容逻辑 添加了二级分类树 添加了html网页类型展示 修复部分问题 文档接口搜索已修复 测试页面接口及搜索已修复 form data可以使用,需要设置headers TODO 美化界面 增加的功能使用说明 中文类别 # 使用自定义名 # app.config["API_DOC_MEMBER_NAME"] = True # app.config["API_DOC_MEMBER"] = {"api": "API接口" title="Sample App", version="1.0.0", description="A simple app API", ) doc.init_app(app) doc文档标题必须是第一行
六、接口文档 1、接口内容 接口名称 场景说明 接口说明 请求参数 响应参数 错误码 2、请求参数内容 字段名 是否必填 类型 示例值 描述 3、响应参数内容 字段名称 描述 返回示例 4、错误码内容 6、练习(接口文档) 将admin/controller/Goods.php中 save方法 改为 接口方式 ① 将Base控制器中的登录验证,注释。 ② 将save方法代码 复制到 save2方法 ③将save2方法中的参数验证规则修改(删除 token规则, 添加 goods_logo字段的验证) ④将$this->error 和$this->success ⑤将文件上传的方法调用 注释 ⑥通过postman测试save2接口 ⑦ 写接口文档 7、练习(项目搭建) 1、安装部署tp框架(解压压缩包、配置虚拟站点)(主域名、子域名,比如 www.pyg.com 和 adminapi.pyg.com) 2、模块划分(后台模块admin、前台模块home、后台接口模块adminapi、公共模块common) 3、admin模块、home模块、adminapi
swagger-spring-boot-starter</artifactId> <version>1.8.0.RELEASE</version> </dependency> 2. 在启动类(即带@SpringBootApplication这个注解的类)上添加@EnableSwagger2Doc注解 3. swagger.enabled=true swagger.title=spring-boot-mybatis module api swagger.description=Starter for swagger 2. swagger.base-path=/** swagger.exclude-path=/error, /ops/** 经我多次尝试application.properties中不加任何swagger配置也可生成文档进行正常测试 w=1240&h=439&f=png&s=40892] 另一种用swagger自动生成文档的方式请前往
接口文档 HTTP部分 全局规范 Login 登录接口 Register 注册接口 搜素用户接口 接受用户用户邀请 获取朋友列表 修改用户名接口 Socket自定义协议 全局规范 client 请求部分 flag 为 false flag 为 false时,必然返回 errorCode和errorString 节点 errorCode说明了错误编码 errorString说明错误原因 Login(登录接口 } 失败 errorCode | errorString ---------- | -------------- 100 | 用户密码错误 101 | 用户不存在 Regisger(注册接口 bbee-ad094533a422" } } 失败 errorCode | errorString ---------- | -------------- 150 | 用户已经存在 搜索用户接口 String | 用户的唯一标识 请求参数 : 无 响应结果 : 成功 { "flag": true } 失败 { "flag": false } 用户名称修改接口
2.Swagger常用注解 在Java类中添加Swagger的注解即可生成Swagger接口,常用Swagger注解如下: @Api:修饰整个类,描述Controller的作用 @ApiOperation annotations.EnableSwagger2; // @Configuration @EnableSwagger2 public class Swagger2Configuration { Swagger接口生成工作原理: 1、系统启动,扫描到api工程中的Swagger2Configuration类 2、在此类中指定了包路径com.xuecheng,找到在此包下及子包下标记有@RestController 注解的controller类 3、根据controller类中的Swagger注解生成接口文档。 启动项目,查看接口文档,请求:http://localhost:31001/swagger-ui.html 使用Swagger工具测试服务接口: 1)在cms服务接口中打断点 2)打开接口文档页面,输入请求参数
提供三种类型 form-data / x-www-form-urlencoded / raw ,每种类型提供三种不同的UI界面 1)当你需要提交表单时,切换到 x-www-form-urlencoded 2) 点击分享文档 复制并打开文档地址就可以看到了完整的接口文档。 本节课主要是讲解一些需要注意的事项。 请求参数的描述填写 对于header、query以及form-data和urlencode的body参数,我们在如下地方填写参数描述: 如图中所示,对于一个填写过的参数,我们可以在新建接口可以通过点击参数描述后面的 响应参数的描述填写 很多新手困惑为什么APIPOST分享的文档没有成功响应示例和错误响应示例,那是因为APIPOST不会把发送后的实时响应的数据作为响应示例。