ChatGPT生成接口文档实践案例(二)

        不难发现,两个方案都出色地完成了接口文档的生成,但笔者更喜欢Response 2的表达,因为其描述更加全面。

        还可以让ChatGPT生成符合OpenAPI 3.0规范的接口文档,以便于项目相关成员阅读,如图5-13所示。

        为什么要生成OpenAPI 3.0规范的接口文档呢?下面简单介绍一下OpenAPI 3.0。OpenAPI 3.0(又称为OpenAPI Specification 3.0或OAS 3.0)是一种规范,专门用于描述RESTful API(Application Programming Interface,应用程序接口)。它是OpenAPI 2.0(之前称为Swagger)的升级版。OpenAPI 3.0的目标是提供更丰富的API文档和规范,以便开发人员更好地理解和使用API。这一规范采用JSON(JavaScript Object Notation,JS对象简谱)或YAML(YAML Ain't a Markup Language,YAML不是标记语言)格式,因此易于阅读和编写。开发人员可以利用各种工具生成API文档,以更轻松地构建和维护API文档。这有助于提高API的可互操作性,促进不同开发团队之间的合作。

图5-13  ChatGPT生成的符合OpenAPI 3.0规范的接口文档(部分)

    ChatGPT生成的符合OpenAPI 3.0规范的接口文档如下所示。

ChatGPT生成的符合OpenAPI 3.0规范的接口文档

以下是用户注册接口的 OpenAPI 3.0.0 格式文档:

openapi: 3.0.0

info:

  title: 飞机订票系统

  description: 飞机订票系统用户注册接口文档

  version: 1.0.0

paths:

  /cgi-bin/login.pl:

    post:

      summary: 新用户注册接口

      description: 新用户注册接口,用户可以通过此接口进行注册。注册信息包括用户名、密码、确认密码、名字、姓氏、街道地址和城市邮编等。

      requestBody:

        required: true

        content:

          application/x-www-form-urlencoded:

            schema:

              type: object

              properties:

                username:

                  type: string

                  description: 用户名

                password:

                  type: string

                  description: 密码

                passwordConfirm:

                  type: string

                  description: 确认密码

                firstName:

                  type: string

                  description: 名字

                lastName:

                  type: string

                  description: 姓氏

                address1:

                  type: string

                  description: 街道地址

                address2:

                  type: string

                  description: 城市邮编

                register.x:

                  type: number

                  description: 注册x坐标

                register.y:

                  type: number

                  description: 注册y坐标

      responses:

        '200':

          description: 注册成功

          content:

            text/html:

              schema:

                type: string

              example: 'Thank you <b>{username}</b>'

        '400':

          description: 注册失败

          content:

            text/html:

              schema:

                type: string

              example: 'Registration failed. Please check your input and try again'

这是 OpenAPI 3.0.0 格式的用户注册接口文档,您可以将其用于API文档工具或生成可视化文档以方便阅读和理解。希望这对您有所帮助!

        ChatGPT很快就生成了符合OpenAPI 3.0规范的关于飞机订票系统的用户注册接口文档,它还告诉我们该如何使用这段YAML格式的代码,是不是非常贴心?将这段代码复制到Swagger Editor中,可以正常显示,如图5-14所示。

图5-14  Swagger Editor中显示用户注册接口文档

        可以按照前面笔者提供的方法继续生成其他接口文档,这里不赘述。

        无论使用哪种编程语言和开发框架,生成符合Swagger或OpenAPI 3.0规范的接口文档的关键都在于选择合适的工具和注解来描述API。

        接口文档的生成过程并不是最重要的,最重要的是确保生成的接口文档内容准确无误、简明清晰,能够让项目相关人员容易理解。在实际工作中,研发人员有时可能会修改API的代码,这可能导致接口参数、返回值等内容发生变化。在这种情况下,研发人员应该及时更新相关接口文档,以确保其准确性。

        一些企业可能存在没有接口文档的情况,这会给测试人员的接口测试工作带来困难。测试人员不仅需要分析接口的输入和输出,还需要负责编写接口文档,这容易导致漏测情况的发生。因此,笔者建议接口文档的编写和维护工作由研发人员来负责,特别是在有了ChatGPT的辅助之后。有一些企业还开发了一些工具或平台,通过调用OpenAI提供的相关API来自动生成接口文档并发布,这极大地提高了研发及测试的效率。

  • 进行多轮提问修正

        事实上,我们在使用ChatGPT生成接口文档时可能不会“一气呵成”,有时可能需要同ChatGPT进行多轮会话,才能生成最终的接口文档。在操作时我们可以根据实际情况来调整ChatGPT的提示词,提供更多的细节信息,例如参数的数据类型、取值范围、输入示例等,从而获得满意的接口文档。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MFC用List Control 和Picture控件实现界面切换效果

添加List Control 和Picture控件 添加 3个子窗体 把子窗体边框设置为None, 样式设为Child 声明 CListCtrl m_listPageForm;void ShowForm(int nIndex);void CreatFormList();void CMFCApplication3Dlg::DoDataExchange(CDataExchange* pDX) {CDialogEx::DoDataExchange(pDX);DD…

JavaWeb Servlet的反射优化、Dispatcher优化、视图(重定向)优化、方法参数值获取优化

目录 1. 背景2. 实现2.1 pom.xml2.2 FruitController.java2.3 DispatcherServlet.java2.4 applicationContext.xml 3. 测试 1. 背景 前面我们做了Servlet的一个案例。但是存在很多问题&#xff0c;现在我们要做优化&#xff0c;优化的步骤如下&#xff1a; 每个Fruit请求都需…

frp内网穿透云服务器。云服务器映射多个家庭局域网内网端口。家庭Windows主机内网运行多个web程序

这篇文章最终要实现的效果是&#xff0c;把云服务器的公网IP绑定到自己本地局域网上的主机一样的效果。相当于局域网主机有了一个自己的公网IP地址。 FRP (Fast Reverse Proxy) 是一个用 Go 语言编写的高性能反向代理应用程序&#xff0c;主要用于内网穿透。它允许位于 NAT 或…

windos 安装docker

文章目录 安装1.下载安装包2.双击安装软件 验证修改国内镜像地址FAQDocker Engine stopped 小结 安装 1.下载安装包 到官网下载适配的安装包&#xff1a;https://www.docker.com/products/docker-desktop/ 2.双击安装软件 选择ok 等待安装依赖 安装完成以后会重启电脑&am…

【已解决】黑马点评项目Redis版本替换过程中误删数据库后前端显示出现的问题

为了实现基于Redis的Stream结构作为消息队列&#xff0c;实现异步秒杀下单的功能&#xff0c;换Redis版本 Redis版本太旧了&#xff0c;所以从3.2.1换成了5.0.14 此时犯了一个大忌&#xff0c;因为新的Redis打开后&#xff0c;没有缓存&#xff0c;不知道出了什么问题&#xf…

Odoo 免费开源 ERP:通过 JavaScript 创建对话框窗口的技术实践分享

作者 | 老杨 出品 | 上海开源智造软件有限公司&#xff08;OSCG&#xff09; 概述 在本文中&#xff0c;我们将深入研讨如何于 Odoo 18 中构建 JavaScript&#xff08;JS&#xff09;对话框或弹出窗口。对话框乃是展现重要讯息、确认用户操作以及警示用户留意警告或错误的行…

Tool之Excalidraw:Excalidraw(开源的虚拟手绘风格白板)的简介、安装和使用方法、艾米莉应用之详细攻略

Tool之Excalidraw&#xff1a;Excalidraw(开源的虚拟手绘风格白板)的简介、安装和使用方法、艾米莉应用之详细攻略 目录 Excalidraw 简介 1、Excalidraw 的主要特点&#xff1a; Excalidraw 安装和使用方法 1、Excalidraw的安装 T1、使用 npm 安装&#xff1a; T2、使用 …

探索CSDN博客数据:使用Python爬虫技术

探索CSDN博客数据&#xff1a;使用Python爬虫技术 在数字化的浪潮中&#xff0c;数据的获取与分析变得日益关键。CSDN作为中国领先的IT社区和服务平台&#xff0c;汇聚了海量的技术博客与文章&#xff0c;成为一座蕴藏丰富的数据宝库。本文将引领您穿梭于Python的requests和py…

【蓝桥杯选拔赛真题96】Scratch风车旋转 第十五届蓝桥杯scratch图形化编程 少儿编程创意编程选拔赛真题解析

目录 scratch风车旋转 一、题目要求 编程实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 1、思路分析 2、详细过程 四、程序编写 五、考点分析 六、推荐资料 1、入门基础 2、蓝桥杯比赛 3、考级资料 4、视频课程 5、python资料 scratc…

LeetCode:222.完全二叉树节点的数量

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a;222.完全二叉树节点的数量 给你一棵 完全二叉树 的根节点 root &#xff0c;求出该树的节点个数。 完全二…

CNN和Transfomer介绍

文章目录 CNN和Transfomer介绍CNN和Transfomer的区别1. **基本概念**2. **数据处理方式**3. **模型结构差异**4. **应用场景区别** 自注意力机制1. **自注意力机制的概念**2. **自注意力机制的实现步骤**3. **自注意力机制的优势** Transformer结构组成1. **多头注意力层&#…

【数据结构练习题】栈与队列

栈与队列 选择题括号匹配逆波兰表达式求值出栈入栈次序匹配最小栈设计循环队列面试题1. 用队列实现栈。[OJ链接](https://leetcode.cn/problems/implement-stack-using-queues/solutions/)2. 用栈实现队列。[OJ链接](https://leetcode.cn/problems/implement-queue-using-stack…

python 定时任务管理封装

主逻辑代码 # -*- coding: utf-8 -*- # import apscheduler import pandas as pd from datetime import datetime # 导入调度器&#xff0c;此处使用BackgroundScheduler阻塞调度器 from apscheduler.schedulers.background import BackgroundScheduler # 导入触发器&#xf…

MaxKB基于大语言模型和 RAG的开源知识库问答系统的快速部署教程

1 部署要求 1.1 服务器配置 部署服务器要求&#xff1a; 操作系统&#xff1a;Ubuntu 22.04 / CentOS 7.6 64 位系统CPU/内存&#xff1a;4C/8GB 以上磁盘空间&#xff1a;100GB 1.2 端口要求 在线部署MaxKB需要开通的访问端口说明如下&#xff1a; 端口作用说明22SSH安装…

LCAN-FOBR设备在风力发电项目的消防通讯中的使用

LCAN-FOBR设备在风力发电项目的消防通讯中的使用 在风力发电项目中&#xff0c;所有的风机内部的状态都需要能够在中控室备被监控到&#xff0c;不论是风机的工作状态还是风机内部的消防状态&#xff0c;以便中控室的工作人员都够根据观测到的信息及时的做出反应&#xff0c;避…

Linux扩展——shell编程

前置&#xff1a;Linux基础及命令复习 目录 shell概述Shell脚本入门案例 sh bash ./ . source 变量系统预定义变量 $HOME $PWD $SHELL等自定义变量 unset readonly补充&#xff1a;开启子Shell进程的常见方法 (...) $(...) ... <(...) >(...) 特殊变量 $n $# $* $ $&…

计算机网络-GRE Over IPSec实验

一、概述 前情回顾&#xff1a;上次基于IPsec VPN的主模式进行了基础实验&#xff0c;但是很多高级特性没有涉及&#xff0c;如ike v2、不同传输模式、DPD检测、路由方式引入路由、野蛮模式等等&#xff0c;以后继续学习吧。 前面我们已经学习了GRE可以基于隧道口实现分支互联&…

【运维笔记】向日葵远程:输入法大写无法切换至小写

项目场景&#xff1a; 向日葵&#xff1a;远程客户电脑ubuntu系统 客户电脑&#xff1a;windows 10 &#xff0c;并安装向日葵 服务器&#xff1a;ubuntu系统 问题描述 维护ubuntu时突然无法切换成小写&#xff0c;导致无法运维 原因分析&#xff1a; 大写键被锁住 解决方案…

「Mac畅玩鸿蒙与硬件46」UI互动应用篇23 - 自定义天气预报组件

本篇将带你实现一个自定义天气预报组件。用户可以通过选择不同城市来获取相应的天气信息&#xff0c;页面会显示当前城市的天气图标、温度及天气描述。这一功能适合用于动态展示天气信息的小型应用。 关键词 UI互动应用天气预报数据绑定动态展示状态管理 一、功能说明 自定义…

AAAI-2024 | 大语言模型赋能导航决策!NavGPT:基于大模型显式推理的视觉语言导航

作者&#xff1a;Gengze Zhou, Yicong Hong, Qi Wu 单位&#xff1a;阿德莱德大学&#xff0c;澳大利亚国立大学 论文链接&#xff1a; NavGPT: Explicit Reasoning in Vision-and-Language Navigation with Large Language Models &#xff08;https://ojs.aaai.org/index.p…