news 2026/9/11 2:03:12

wno_interface微型接口配置管理器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
wno_interface微型接口配置管理器

一、简介

wno_interface 是一款微型的接口配置管理工具,旨在应对实际项目中日益增长的接口调试、开发与后期维护工作,这些工作负担随着项目的不断迭代而逐渐加重。接口的开发、调试、上线及下线,共同构成了一个接口的完整生命周期。若在项目中集成接口,则需频繁地修改代码并进行升级,这无疑带来了较大的风险。本工具正是为解决这一棘手问题而设计的。它实现了接口的开发调测、上线、下线灵活性,使得接口的控制能够随时进行变更并即时生效,从而有效节省了接口调试与升级所需的时间。

1.1 技术栈

框架技术版本
核心框架Spring Boot2.5.6
持久层框架jdbctemplate5.3.12
数据库连接池Alibaba Druid1.1.10
模板解析Groovy3.0.9
json解析fastjson22.0.12
Xquery解析Saxon-HE11.3
sshjsch0.1.55

1.2 部署手册

1.2.1 数据初始化

目前平台支持MySql\Oracle\PostgreSQL\teldb版本,只需要修改数据源配置亦可。具体脚本见: resources/sql目录下脚本。 数据库导入完成后,需要修改数据源地址,wno704.quartzDB属性信息;为了防止对数据库污染,表前缀可以根据自己情况变动,需要配置wno704.tablePrefix,同时修改导入脚本中表前缀,目前默认为INTF_;日志目录需要配置wno704.logDir。

1.2.2 编译构件

传统的springboot项目,目前生成物为jar包,如需要war,请参考 《Spring-Boot项目创建》

1.2.3 服务部署

发布到服务器后,执行java -jar jar包名称,快捷部署可以参考 《Linux下部署Spring-Boot-jar》

二、接口配置

2.1 DS基础配置说明

字段说明
SOURCE_ID数据源id
TYPE类型,目前支持MySQL Oracle PostgreSQL类型
JDBCTEMPLATE_NAMEjdbc名称
DRIVER_CLASS_NAMEjdbc驱动class
URL数据库链接字符串
USERNAME数据库帐号
PASSWORD数据库密码
DB_DESC数据源描述
STATUS可用状态 0使用 1下线
CONFIG其他配置,多个配置换行,属性名称和值用:隔开
CREATE_TIME创建时间
READ_TIME读取时间

注意:如果修改了数据库等配置,需要修改CREATE_TIME为当前时间,定时器读取了后,会自动更新READ_TIME字段。

2.2 接口配置参数

字段说明
INTF_ID接口id
METHOD方法,目前支持所有类型请求,例如POST\GET\PUT\DELETE\PATCH等
URL路径,如果为匹配路径情况,变动位置用%替代
SCRIPT脚本
REMARK备注
STATUS可用状态 0使用 1下线
IS_LOG是否保存日志 0保存 1不保存
CREATE_TIME创建时间
READ_TIME读取时间

注意:如果修改了数据库等配置,需要修改CREATE_TIME为当前时间,定时器读取了后,会自动更新READ_TIME字段。

2.3 脚本配置说明

参考脚本

import javax.servlet.http.HttpServletRequest import javax.servlet.http.HttpServletResponse import com.alibaba.fastjson2.JSONObject Map<String, String> reqHeaders = (Map<String, String>)$reqHeaders String reqParam = (String)$reqParam String method = (String)$method String url = (String)$url String msgId = (String)$msgId String ipAddr = (String)$ipAddr HttpServletRequest httpServletRequest = (HttpServletRequest)$httpServletRequest HttpServletResponse httpServletResponse = (HttpServletResponse)$httpServletResponse Map<String, String> queryParams = (Map<String, String>)$queryParams String qp = JSONObject.toJSONString(queryParams) String repMsg = '''{"msg": "请求成功","code": 200,"msgId": "'''+msgId+'''","reqParam":'''+reqParam+''',"queryParams":'''+qp+''',"ipAddr":"'''+ipAddr+'''"}''' Map<String, Object> repHeaders = new HashMap<>() repHeaders.put("Content-Type","application/json; charset=utf-8") Map<String, Object> res = new HashMap<>() res.put("repHeaders",repHeaders) res.put("repMsg",repMsg) res.put("repStatus",200) return res

复制

目前脚本默认传了9个参数,返回需要携带3个参数。具体参数说明如下:

类型参数类型标签说明
输入reqHeadersMap<String, String>$reqHeaders接口请求头的所有信息
输入reqParamString$reqParam接口请求报文
输入methodString$method接口请求方法
输入urlString$url接口请求路径
输入msgIdString$msgId系统自动生成的消息id,如果保存调用记录,这个就是记录表主键
输入ipAddrString$ipAddr接口请求原始IP
输入httpServletRequestHttpServletRequest$httpServletRequest请求对象
输入httpServletResponseHttpServletResponse$httpServletResponse响应对象
输入queryParamsMap<String, String>$queryParams接口请求查询参数
输出repHeadersMap<String, String>repHeaders接口响应头信息
输出repMsgStringrepMsg接口响应报文
输出repStatusIntegerrepStatus接口响应状态

注意: 引入工具类参考 https://wno704.cn/wno_util/

2.4 接口记录说明

字段说明对应脚本字段
LOG_ID主键$msgId
INTF_ID接口id
METHOD方法$method
URL路径$uri
REMARK备注
REQUEST_IPADDR请求IP$ipAddr
REQUEST_HEADERS请求头信息$reqHeaders
REQUEST_PARAM请求参数$queryParams
REQUEST_MSG请求报文$reqParam
REQUEST_TIME请求时间
RESPONSE_HEADERS响应头信息repHeaders
RESPONSE_STATUS响应状态repStatus
RESPONSE_MSG响应头报文repMsg
RESPONSE_TIME响应时间
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 2:01:58

Cat-Catch:嗅探页面全部媒体资源,M3U8 合并存 MP4

Cat-Catch&#xff1a;嗅探页面全部媒体资源&#xff0c;M3U8 合并存 MP4 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 右键另存为&#xff0c;得…

作者头像 李华
网站建设 2026/9/11 1:58:22

Spring Boot项目创建指南:从IDEA搭建到配置实战

Spring Boot 这东西&#xff0c;说实话我一开始是有点抵触的。那时候还在用 SSM 拼 XML&#xff0c;一个 web.xml 能写上百行&#xff0c;数据源配错一个单词&#xff0c;Tomcat 启动直接红一片。后来切到 Spring Boot&#xff0c;第一次感受到什么叫“约定优于配置”&#x…

作者头像 李华
网站建设 2026/9/11 1:57:10

DeepSeek Harness本地部署实战:从Docker安装到Ollama接入与插件配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/11 1:56:30

江苏省30m DEM地形处理实战:从RAR解压到坡度分类

简介&#xff1a;江苏省地形地貌最新30m精度数据包&#xff0c;面向地理信息、测绘、国土规划与环境研究从业者&#xff0c;提供统一按省整理的tif栅格数据。内容包括海拔分级、起伏程度分类、陆地地貌类型等图层&#xff0c;并附带WGS84与Albers投影坐标参考&#xff0c;便于直…

作者头像 李华