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

devtools/2024/12/27 13:19:27/

     生成接口文档的方法有很多,如研发人员手工编写或通过Swagger、Postman、Apiary、ChatGPT自动生成。在此仅针对利用ChatGPT生成接口文档的方法进行介绍,其他两种方法不赘述。

       以飞机订票系统的用户注册功能为例,其用户注册的界面如图5-9所示。

图5-9  用户注册的界面

  • 准备关键信息

        在本案例中,笔者准备的接口关键信息如下所示。

接口名称:用户注册接口

接口描述:新用户注册接口,注册内容包括:用户名、姓名、地址、邮编等。

请求地址:http://127.0.0.1:1080/cgi-bin/login.pl

请求方式:POST

请求体参数:

username         必填  用户名

password         必填  密码

passwordConfirm  必填  确认密码

firstName         选填  名字

lastName          选填 姓氏

address1          选填 街道地址

address2          选填 城市邮编

register.x        选填 注册x坐标

register.y        选填  注册y坐标

响应示例:HTML格式页面,注册成功 显示 Thank you, <b>{username}</b>

  • ChatGPT生成接口文档

        关键信息输入完成以后,就可以让ChatGPT生成用户接口文档,如图5-10所示。

图5-10  ChatGPT生成的用户注册接口文档

       ChatGPT给出两个方案供我们选择,即Response 1和Response 2,分别如图5-11和图5-12所示。

图5-11  ChatGPT生成的Response 1接口文档(部分)

    以下内容为ChatGPT生成的Response 1接口文档。

ChatGPT生成的Response 1接口文档

以下是飞机订票系统的用户注册接口文档:

用户注册接口

接口描述: 新用户注册接口,允许用户提供以下信息进行注册:用户名、密码、确认密码、名字、姓氏、街道地址、城市邮编。

请求地址: http://127.0.0.1:1080/cgi-bin/login.pl

请求方式: POST

请求体参数:

参数名

是否必填

描述

username

必填

用户名

password

必填

密码

passwordConfirm

必填

确认密码

firstName

选填

名字

lastName

选填

姓氏

address1

选填

街道地址

address2

选填

城市邮编

register.x

选填

注册x坐标

register.y

选填

注册y坐标

请求示例:

POST http://127.0.0.1:1080/cgi-bin/login.pl

Body:

{

  "username": "sample_user"

  "password": "password123"

  "passwordConfirm": "password123"

  "firstName": "John"

  "lastName": "Doe"

  "address1": "123 Main St"

  "address2": "City Zip Code"

  "register.x": "100"

  "register.y": "200"

}

响应示例:

如果注册成功,服务器将返回一个HTML格式的页面,显示以下内容:

Thank you <b>sample_user</b>

如果注册失败,服务器应该返回相应的错误信息,例如用户名已被占用或密码不匹配等信息。

图5-12  ChatGPT生成的Response 2接口文档(部分)

    以下内容为ChatGPT生成的Response 2接口文档。

ChatGPT生成的Response 2接口文档

以下是用户注册接口的接口文档:

用户注册接口

接口描述

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

请求地址

POST http://127.0.0.1:1080/cgi-bin/login.pl

请求方式

POST

请求体参数

参数名

必填

类型

描述

username

必填

字符串

用户名

password

必填

字符串

密码

passwordConfirm

必填

字符串

确认密码

firstName

选填

字符串

名字

lastName

选填

字符串

姓氏

address1

选填

字符串

街道地址

address2

选填

字符串

城市邮编

register.x

选填

浮点数

注册x坐标

register.y

选填

浮点数

注册y坐标

响应示例

注册成功后,服务器将返回一个HTML格式的页面,显示感谢消息,其中{username}将被替换为实际注册的用户名。

Thank you <b>{username}</b>

错误响应示例

如果注册过程中发生错误,服务器可能返回相应的错误信息,如用户名已存在、密码不匹配等。

Registration failed. Please check your input and try again.

这是用户注册接口的接口文档,您可以使用这些信息来设计和实现相应的功能。希望这对您有所帮助!

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


http://www.ppmy.cn/devtools/145820.html

相关文章

Python3 爬虫 开发Scrapy下载器中间件

中间件是Scrapy里面的一个核心概念。使用中间件可以在爬虫的请求发起之前或者请求返回之后对数据进行定制化修改&#xff0c;从而开发出适应不同情况的爬虫。 “中间件”这个中文名字和前面章节讲到的“中间人”只有一字之差。它们做的事情确实也非常相似。中间件和中间…

Node二、Node.js 模块化、es6 软件包、Express - 框架

一、Node.js 模块化 在Nodejs中&#xff0c;每个文件都被视为一个单独的模块。 支持 2 种模块化标准 CommonJS 标准语法&#xff08;默认&#xff09; ECMAScript 标准语法 模块名或路径&#xff1a; ✓ 内置模块&#xff1a;直接写名字&#xff08;例如&#xff1a;fs&…

Java线程池面试题

为什么要用线程池 降低资源消耗&#xff1a;通过重复利用已创建的线程降低线程创建和销毁造成的消耗提高响应速度&#xff1a;当任务到达时&#xff0c;任务可以不需要等到线程创建就能立即执行方便管理线程&#xff1a;线程是稀缺资源&#xff0c;如果无条件地创建&#xff0…

Redis基础知识分享(含5种数据类型介绍+增删改查操作)

一、redis基本介绍 1.redis的启动 服务端启动 pythonubuntu:~$ redis-server客户端启动 pythonubuntu:~$ redis-cli <127.0.0.1:6379> exit pythonubuntu:~$ redis-cli --raw //(支持中文的启动方式) <127.0.0.1:6379> exit2.redis基本操作 ping发送给服务器…

【hackmyvm】Adroit靶机wp

tags: HMVjava反编译SQL注入 1. 基本信息^toc 文章目录 1. 基本信息^toc2. 信息收集3. java反编译4. sql注入5. 解密密码6. 提权 靶机链接 https://hackmyvm.eu/machines/machine.php?vmAdroit 作者 alienum 难度 ⭐️⭐️⭐️⭐️️ 2. 信息收集 ┌──(root㉿kali)-[~] └…

MySQL 数据库备份与恢复

MySQL数据库的备份与恢复是确保数据安全的重要操作&#xff0c;以下是对这一过程的详细阐述&#xff1a; 一、备份方式 MySQL数据库的备份方式主要分为物理备份和逻辑备份两种。 1. 物理备份 定义&#xff1a;直接复制数据库的物理文件&#xff08;如数据文件、日志文件等&…

海康RGBD相机使用C++和Opencv采集图像记录

海康RGBD相机使用C和Opencv采集图像记录 RGBD相机型号&#xff1a;MV-EB435i 配置&#xff1a;1.Vs2019 2.Opencv4.6 一、安装客户端 1.下载链接 HiViewer 2.官方Samples 安装后&#xff0c;在帮助-development中&#xff0c;可以看到一些samples&#xff0c;但是这些样例…

User Script Sandboxing作用 及 在iOS项目中获取GitCommitHash

User Script Sandboxing 设置为 NO 。这个设置控制了 Xcode 脚本的沙盒限制&#xff0c;默认情况下&#xff0c;Xcode 会将脚本放入沙盒环境中&#xff0c;限制其访问文件系统的权限&#xff0c;尤其是对某些目录&#xff08;例如项目文件夹之外的文件&#xff09;进行修改时&a…