CN112860551A - 一种基于api网关实现在线调试和文档导出的方法 - Google Patents

一种基于api网关实现在线调试和文档导出的方法 Download PDF

Info

Publication number
CN112860551A
CN112860551A CN202110142757.4A CN202110142757A CN112860551A CN 112860551 A CN112860551 A CN 112860551A CN 202110142757 A CN202110142757 A CN 202110142757A CN 112860551 A CN112860551 A CN 112860551A
Authority
CN
China
Prior art keywords
api
debugging
document
console
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110142757.4A
Other languages
English (en)
Other versions
CN112860551B (zh
Inventor
栗凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202110142757.4A priority Critical patent/CN112860551B/zh
Publication of CN112860551A publication Critical patent/CN112860551A/zh
Application granted granted Critical
Publication of CN112860551B publication Critical patent/CN112860551B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种基于API网关实现在线调试和文档导出的方法,涉及API网关技术领域,包括API在线调试和文档导出两个阶段;在API在线调试阶段,通过控制台调试前端页面,并向后端发送调试用到的参数信息,后端校验参数后,进行API的安全认证,并在认证成功后生成签名,进而通过RestTemplate创建API网关的调用请求,将响应返回给控制台的前端页面进行展示;在文档导出阶段,通过控制台的前端页面选择一个调试完成的API,借助Java Markdown Generator工具类将API元数据渲染成markdown格式,随后以文件输出流的形式随响应下载到本地。本发明可以省去使用工具调试API填写参数以及生成签名所需要的工作,提高接口调试效率和文档维护成本。

Description

一种基于API网关实现在线调试和文档导出的方法
技术领域
本发明涉及API网关技术领域,具体的说是一种基于API网关实现在线调试和文档导出的方法。
背景技术
随着云计算、人工智能和大数据行业的快速发展,越来越多的应用程序接口通过API网关技术开放给互联网开发者调用,开放后端能力,将自身优势转化为经济价值。
正常情况下,在发布一个API后,开发者会使用Postman或Jmeter工具测试API能否正常调用,对于入参比较多的API,在手工填写入参时很有可能会遗漏某些参数或者参数的位置填写错误,而且某些安全认证的API在调用之前需要通过SDK生成签名信息,然后将签名信息放到指定参数位置,这将导致API在调用之前的准备工作非常繁琐,而且容易出错。另外,托管的API后期可能会对基本信息进行维护,这样就会和最初的接口文档不一致,每次变更API都需要同时维护接口文档。
为了解决这一弊端,提高接口调试效率,涉及研发一种基于API网关实现在线调试和文档导出的方法。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种基于API网关实现在线调试和文档导出的方法,旨在省去使用工具调试API填写参数以及生成签名所需要的工作,提高接口调试效率和文档维护成本。
本发明的一种基于API网关实现在线调试和文档导出的方法,解决上述技术问题采用的技术方案如下:
一种基于API网关实现在线调试和文档导出的方法,其实现包括API在线调试和文档导出两个阶段;
在API在线调试阶段,通过控制台调试前端页面,并向后端发送调试用到的参数信息,后端校验参数后,进行API的安全认证,并在认证成功后生成签名,进而通过RestTemplate创建API网关的调用请求,将响应返回给控制台的前端页面进行展示;
在文档导出阶段,通过控制台的前端页面选择一个调试完成的API,借助JavaMarkdown Generator工具类将API元数据渲染成markdown格式,并下载API文档到本地。
进一步的,在API在线调试阶段,通过控制台调试前端页面时,前端页面对调试过程中用到的参数信息进行校验,并在校验成功后向后端发送请求。
更进一步的,在API在线调试阶段,后端根据收到的请求校验参数,同时,还对query、header、path位置参数的类型、长度和是否必填进行二次检查,保障入参有效。
进一步的,在API在线调试阶段,后端校验参数成功后,进行API的安全认证,并在认证成功后根据认证方式和选择的AKSK调用签名方法生成签名。
更进一步的,在API在线调试阶段,后端校验参数失败后,向前端页面发送失败信息,前端页面调整参数后再次向后端发送请求。
进一步的,RestTemplate是Spring用于同步client端的核心类,其满足RestFul原则,在默认情况下,RestTemplate依赖jdk的HTTP连接工具。
更进一步的,通过RestTemplate创建API网关的调用请求时,对于不同请求方法的API,使用exchange指定调用方式,支持GET、POST、PATCH、PUT、OPTIONS、DELETE和HEAD请求方法,请求返回结果中提取响应header和body信息,发送至控制台的前端页面进行展示。
进一步的,在文档导出阶段,通过控制台的前端页面选择一个调试完成的API后,点击导出API文档,并将该请求发送至后端,后端首先根据选择的API查询API的元数据信息,随后借助Java Markdown Generator工具类将API元数据渲染成markdown格式,API文档内容渲染完成后以文件输出流的形式随响应下载到本地。
更进一步的,Markdown是一种使用普通文本编辑器编写的标记语言,其可以将纯文本格式编写的文档转换成格式丰富的HTML页面,Markdown文件的后缀名便是“.md”。
本发明的一种基于API网关实现在线调试和文档导出的方法,与现有技术相比具有的有益效果是:
(1)本发明基于API网关的在线调试,发布API到当前环境后即可在控制台的前端页面进行调试并支持导出API文档,可以帮助开发人员和测试人员更方便地对托管接口进行调试,及时跟踪API的运行状态,省去了开发人员或测试人员使用工具调试API填写参数以及生成签名所需要的的工作,提高了接口调试效率和文档维护成本;
(2)本发明基于API网关提供的API在线调试的功能,使开发人员只需选择环境,填写正确的请求参数值,即可对已发布的API进行调试,大大减轻了调试API的工作量,提高了调试效率。
附图说明
附图1是本发明实施例一中API在线调试阶段的流程示意图;
附图2是本发明实施例一中文档导出阶段的流程示意图。
具体实施方式
为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清楚、完整的描述。
实施例一:
结合附图1、2,本实施例提出一种基于API网关实现在线调试和文档导出的方法,其实现包括API在线调试和文档导出两个阶段。
(一)结合附图1,在API在线调试阶段,通过控制台调试前端页面,并向后端发送调试用到的参数信息。
后端校验参数成功后,进行API的安全认证,并在认证成功后根据认证方式和选择的AKSK调用签名方法生成签名,进而通过RestTemplate创建API网关的调用请求,将响应返回给控制台的前端页面进行展示。需要补充的是,RestTemplate是Spring用于同步client端的核心类,其满足RestFul原则,在默认情况下,RestTemplate依赖jdk的HTTP连接工具。通过RestTemplate创建API网关的调用请求时,对于不同请求方法的API,使用exchange指定调用方式,支持GET、POST、PATCH、PUT、OPTIONS、DELETE和HEAD请求方法,请求返回结果中提取响应header和body信息。
进行API的安全认证生成签名的实现代码如下:
Figure BDA0002929826500000041
Figure BDA0002929826500000051
后端校验参数失败后,向前端页面发送失败信息,前端页面调整参数后再次向后端发送请求。
(二)结合附图2,在文档导出阶段,通过控制台的前端页面选择一个调试完成的API,点击导出API文档,并将该请求发送至后端,后端首先根据选择的API查询API的元数据信息,随后借助Java Markdown Generator工具类将API元数据渲染成markdown格式,API文档内容渲染完成后以文件输出流的形式随响应下载到本地。需要补充的是,Markdown是一种使用普通文本编辑器编写的标记语言,其可以将纯文本格式编写的文档转换成格式丰富的HTML页面,Markdown文件的后缀名便是“.md”。
Java Markdown Generator工具类渲染API元数据时,可以生成不同级别标题、段落、链接、表格以及代码块。针对不同级别标题渲染的具体代码为:
Figure BDA0002929826500000052
Figure BDA0002929826500000061
实施例二:
在实施例一的基础上,本实施例的一种基于API网关实现在线调试和文档导出的方法,在API在线调试阶段,通过控制台调试前端页面时,前端页面对调试过程中用到的参数信息进行校验,并在校验成功后向后端发送请求。
在API在线调试阶段,后端根据收到的请求校验参数,同时,还对query、header、path位置参数的类型、长度和是否必填进行二次检查,保障入参有效。
综上可知,采用本发明的一种基于API网关实现在线调试和文档导出的方法,可以帮助开发人员和测试人员更方便地对托管接口进行调试,及时跟踪API的运行状态,省去了开发人员或测试人员使用工具调试API填写参数以及生成签名所需要的的工作,提高了接口调试效率和文档维护成本。
基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。

Claims (9)

1.一种基于API网关实现在线调试和文档导出的方法,其特征在于,其实现包括API在线调试和文档导出两个阶段;
在API在线调试阶段,通过控制台调试前端页面,并向后端发送调试用到的参数信息,后端校验参数后,进行API的安全认证,并在认证成功后生成签名,进而通过RestTemplate创建API网关的调用请求,将响应返回给控制台的前端页面进行展示;
在文档导出阶段,通过控制台的前端页面选择一个调试完成的API,借助JavaMarkdown Generator工具类将API元数据渲染成markdown格式,并下载API文档到本地。
2.根据权利要求1所述的一种基于API网关实现在线调试和文档导出的方法,其特征在于,在API在线调试阶段,通过控制台调试前端页面时,前端页面对调试过程中用到的参数信息进行校验,并在校验成功后向后端发送请求。
3.根据权利要求2所述的一种基于API网关实现在线调试和文档导出的方法,其特征在于,在API在线调试阶段,后端根据收到的请求校验参数,同时,还对query、header、path位置参数的类型、长度和是否必填进行二次检查,保障入参有效。
4.根据权利要求1所述的一种基于API网关实现在线调试和文档导出的方法,其特征在于,在API在线调试阶段,后端校验参数成功后,进行API的安全认证,并在认证成功后根据认证方式和选择的AKSK调用签名方法生成签名。
5.根据权利要求4所述的一种基于API网关实现在线调试和文档导出的方法,其特征在于,在API在线调试阶段,后端校验参数失败后,向前端页面发送失败信息,前端页面调整参数后再次向后端发送请求。
6.根据权利要求1所述的一种基于API网关实现在线调试和文档导出的方法,其特征在于,RestTemplate是Spring用于同步client端的核心类,其满足RestFul原则,在默认情况下,RestTemplate依赖jdk的HTTP连接工具。
7.根据权利要求6所述的一种基于API网关实现在线调试和文档导出的方法,其特征在于,通过RestTemplate创建API网关的调用请求时,对于不同请求方法的API,使用exchange指定调用方式,支持GET、POST、PATCH、PUT、OPTIONS、DELETE和HEAD请求方法,请求返回结果中提取响应header和body信息,发送至控制台的前端页面进行展示。
8.根据权利要求1所述的一种基于API网关实现在线调试和文档导出的方法,其特征在于,在文档导出阶段,通过控制台的前端页面选择一个调试完成的API后,点击导出API文档,并将该请求发送至后端,后端首先根据选择的API查询API的元数据信息,随后借助JavaMarkdown Generator工具类将API元数据渲染成markdown格式,API文档内容渲染完成后以文件输出流的形式随响应下载到本地。
9.根据权利要求8所述的一种基于API网关实现在线调试和文档导出的方法,其特征在于,Markdown是一种使用普通文本编辑器编写的标记语言,其可以将纯文本格式编写的文档转换成格式丰富的HTML页面,Markdown文件的后缀名便是“.md”。
CN202110142757.4A 2021-02-02 2021-02-02 一种基于api网关实现在线调试和文档导出的方法 Active CN112860551B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110142757.4A CN112860551B (zh) 2021-02-02 2021-02-02 一种基于api网关实现在线调试和文档导出的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110142757.4A CN112860551B (zh) 2021-02-02 2021-02-02 一种基于api网关实现在线调试和文档导出的方法

Publications (2)

Publication Number Publication Date
CN112860551A true CN112860551A (zh) 2021-05-28
CN112860551B CN112860551B (zh) 2024-04-30

Family

ID=75986206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110142757.4A Active CN112860551B (zh) 2021-02-02 2021-02-02 一种基于api网关实现在线调试和文档导出的方法

Country Status (1)

Country Link
CN (1) CN112860551B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114721944A (zh) * 2022-03-29 2022-07-08 重庆长安汽车股份有限公司 基于网关的开放平台应用程序接口在线调试系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440745A (en) * 1993-04-29 1995-08-08 International Business Machines Corporation Batch format processing of record data
KR20080043979A (ko) * 2006-11-15 2008-05-20 한국전자통신연구원 개방형 서비스 생성 도구의 목표 게이트웨이 자동 적응방법 및 장치
CN108959076A (zh) * 2018-06-25 2018-12-07 浙江网新恒天软件有限公司 一种api在线调试方法
CN110196733A (zh) * 2019-06-06 2019-09-03 深圳市伊欧乐科技有限公司 一种预设api文档生成方法、装置、设备和存储介质
CN111880950A (zh) * 2020-07-30 2020-11-03 浪潮云信息技术股份公司 基于政务云平台管理云服务api的方法及系统
CN111950252A (zh) * 2020-07-31 2020-11-17 上海中通吉网络技术有限公司 Http响应报文格式校验方法、装置和设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440745A (en) * 1993-04-29 1995-08-08 International Business Machines Corporation Batch format processing of record data
KR20080043979A (ko) * 2006-11-15 2008-05-20 한국전자통신연구원 개방형 서비스 생성 도구의 목표 게이트웨이 자동 적응방법 및 장치
CN108959076A (zh) * 2018-06-25 2018-12-07 浙江网新恒天软件有限公司 一种api在线调试方法
CN110196733A (zh) * 2019-06-06 2019-09-03 深圳市伊欧乐科技有限公司 一种预设api文档生成方法、装置、设备和存储介质
CN111880950A (zh) * 2020-07-30 2020-11-03 浪潮云信息技术股份公司 基于政务云平台管理云服务api的方法及系统
CN111950252A (zh) * 2020-07-31 2020-11-17 上海中通吉网络技术有限公司 Http响应报文格式校验方法、装置和设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
冯红婵;赵欣楠;: "Web系统中数据加密技术的探讨", 煤炭技术, no. 11 *
李丹;: "JavaScript调试方法以及常见错误", 中小企业管理与科技(下旬刊), no. 07 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114721944A (zh) * 2022-03-29 2022-07-08 重庆长安汽车股份有限公司 基于网关的开放平台应用程序接口在线调试系统及方法

Also Published As

Publication number Publication date
CN112860551B (zh) 2024-04-30

Similar Documents

Publication Publication Date Title
US10235151B2 (en) Optimized delivery of web application code
US7694282B2 (en) Mapping breakpoints between web based documents
US8397223B2 (en) Web application generator
US20110015917A1 (en) Browser emulator system
US20020078201A1 (en) Adding data to text pages by means of an intermediary proxy
CN102866944B (zh) 一种压力测试系统及方法
WO2002029571A2 (en) Http transaction monitor with edit and replay capacity
CN111881394B (zh) 一种应用中间层的请求处理方法及系统
CN112860551A (zh) 一种基于api网关实现在线调试和文档导出的方法
CN111427554A (zh) 用于物联网通讯模块的软件定制安装包生成器
US6549952B1 (en) Passing environment variables from an hypertext protocol server application programming interface
JP2010267266A (ja) 試験支援装置および試験支援方法
CN114925400B (zh) 数据动态脱敏方法和装置
Durieux et al. Production-driven patch generation
JP2005222130A (ja) プログラム管理方法及び実施装置並びに処理プログラム
Perret et al. Implementation of MAP: A system for mobile assistant programming
CN112667945A (zh) 一种基于前后端分离技术开发网站的seo优化方法
Zhang et al. Design and Implementation of Linux-Web Server Based on Embedded System
CN111399825A (zh) 一种基于api文档的api接口开发管理方法及系统
JP2002073585A (ja) デバッグ支援装置、デバッグ支援方法、および記録媒体
CN111984534B (zh) 一种基于arm64架构前端UI自动化测试方法及装置
CN109815645A (zh) 一种实现后台服务器导出前台界面的方法
CN115033567B (zh) 基于bs架构对数据库单表进行增删改查的api实现系统与方法
CN112416742A (zh) JMeter测试脚本的自动生成方法、接口测试方法和系统
WO2012079531A1 (zh) 提升移动微件widget应用性能的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant