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

news/2024/12/24 7:34:21/

     生成接口文档的方法有很多,如研发人员手工编写或通过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/news/1557680.html

相关文章

Zabbix6.0升级为6.4

为了体验一些新的功能&#xff0c;比如 Webhook 和问题抑制等&#xff0c;升级个小版本。 一、环境信息 1. 版本要求 一定要事先查看官方文档&#xff0c;确认组件要求的版本&#xff0c;否则版本过高或者过低都会出现问题。 2. 升级前后信息 环境升级前升级后操作系统CentOS…

redis 缓存使用

工具类 package org.springblade.questionnaire.redis;import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.beans.factor…

在Vue3中实现文件上传功能,结合后端API

随着现代Web应用程序的不断发展&#xff0c;文件上传成为了用户交互中不可或缺的一部分。在本篇博客中&#xff0c;我们将深入讨论如何在Vue3中实现一个文件上传功能&#xff0c;并与后端API进行交互。我们将使用Vue3的Composition API&#xff08;setup语法糖&#xff09;来构…

14_HTML5 input类型 --[HTML5 API 学习之旅]

HTML5 引入了许多新的 <input> 类型&#xff0c;这些类型提供了更专业的数据输入控件&#xff0c;并且可以在支持的浏览器中提供更好的用户体验和输入验证。以下是一些 HTML5 中引入的 <input> 类型&#xff1a; 1.color: 打开颜色选择器&#xff0c;允许用户选择…

《Django 5 By Example》读后感

一、 为什么选择这本书&#xff1f; 本人的工作方向为Python Web方向&#xff0c;想了解下今年该方向有哪些新书出版&#xff0c;遂上packt出版社网站上看了看&#xff0c;发现这本书出版时间比较新(2024年9月)&#xff0c;那就它了。 从2024年11月11日至2024年12月18日期间&…

ECharts关系图-关系图11,附视频讲解与代码下载

引言&#xff1a; 关系图&#xff08;或称网络图、关系网络图&#xff09;在数据可视化中扮演着至关重要的角色。它们通过节点&#xff08;代表实体&#xff0c;如人、物体、概念等&#xff09;和边&#xff08;代表实体之间的关系或连接&#xff09;的形式&#xff0c;直观地…

滑动窗口 + 算法复习

维护一个满足条件的窗口大小&#xff0c;然后进行双指针移动 1.最长子串 题目链接&#xff1a;1.最长子串 - 蓝桥云课 #include<bits/stdc.h> #define int long long using namespace std; string s; int k; signed main() {int max_len0,left0;cin>>s>>k;…

【Go】Go数据类型详解—数组与切片

1. 前言 今天需要学习的是Go语言当中的数组与切片数据类型。很多编程语言当中都有数组这样的数据类型&#xff0c;Go当中的切片类型本质上也是对 数组的引用。但是在了解如何定义使用数组与切片之前&#xff0c;我们需要思考为什么要引入数组这样的数据结构。 1.1 为什么需要…