测试时间: 2025-11-04 18:22
服务器地址: http://192.168.3.218:18183
测试接口: /api/meta/check
###错误信息
{
"data": null,
"message": "请求的资源不存在",
"success": false
}
HTTP 状态码: 404 Not Found
所有请求都返回 404
服务器连接正常
API 探索结果
/api/meta/check → 404 不存在/api/meta/list → 404 不存在/api/meta/node/list → 405 Method Not Allowed(存在但方法不对)/api/meta/check 接口未部署到此服务器可能的原因:
代码未更新 ⭐⭐⭐⭐⭐ (最可能)
/api/meta/check 是新添加的接口路由配置不同
/api/meta/* 路径也都是 404服务未启动
| 路径 | 状态 | 说明 |
|---|---|---|
/ |
✅ 200 | HTML 前端页面 |
/api/meta/node/list |
⚠️ 405 | 存在但方法错误 |
| 路径 | 状态 | 说明 |
|---|---|---|
/api/meta/check |
❌ 404 | 目标接口不存在 |
/api/meta/list |
❌ 404 | 不存在 |
/api/meta |
❌ 404 | 不存在 |
/api |
❌ 404 | 不存在 |
工作流中使用的 URL:
http://192.168.3.143:5000/api/meta/checkhttp://192.168.3.143:5000/api/meta/node/add测试结果: ✅ 完全正常(已验证)
| 服务器 | 端口 | /api/meta/check |
状态 |
|---|---|---|---|
| 192.168.3.143 | 5000 | ✅ 存在 | n8n 正常使用 |
| 192.168.3.218 | 18183 | ❌ 不存在 | 需要部署 |
步骤:
确认代码版本
# 在 192.168.3.143 服务器上
cd /path/to/DataOps-platform
git log -1 --oneline app/api/meta_data/routes.py
在 192.168.3.218 上更新代码 ```bash
ssh user@192.168.3.218
cd /path/to/DataOps-platform
git pull origin main
```
验证部署
# 从本地测试
curl "http://192.168.3.218:18183/api/meta/check?name_zh=测试"
如果不能更新 192.168.3.218,可以继续使用 192.168.3.143:
n8n 工具已经配置正确:
http://192.168.3.143:5000/api/meta/checkhttp://192.168.3.143:5000/api/meta/node/add无需修改,已经在正常工作!
文件: app/api/meta_data/routes.py
位置: 第 197-238 行
添加时间: 2025-11-04
代码:
@bp.route('/check', methods=['GET'])
def meta_check():
"""
检查元数据中文名是否已存在
请求参数:
- name_zh: 元数据中文名(URL参数)
返回:
- exists: true/false 表示是否存在
"""
try:
name_zh = request.args.get('name_zh')
if not name_zh:
return jsonify(failed({}, "缺少name_zh参数"))
# 查询数据库检查是否存在
with neo4j_driver.get_session() as session:
cypher = """
MATCH (n:DataMeta {name_zh: $name_zh})
RETURN count(n) > 0 as exists
"""
result = session.run(cypher, name_zh=name_zh)
record = result.single()
if record:
exists = record["exists"]
logger.info(f"检查元数据 '{name_zh}': {'存在' if exists else '不存在'}")
return jsonify(success({
"exists": exists,
"name_zh": name_zh
}, "查询成功"))
else:
return jsonify(success({
"exists": False,
"name_zh": name_zh
}, "查询成功"))
except Exception as e:
logger.error(f"检查元数据失败: {str(e)}")
return jsonify(failed({}, f"检查失败: {str(e)}"))
已创建测试脚本:
test_check_218.py使用方法:
python test_check_218.py
部署后运行此脚本验证接口是否正常。
| 项目 | 结果 |
|---|---|
| 服务器可达性 | ✅ 正常 |
| 响应速度 | ✅ 快速 (0.03-0.07秒) |
| 错误格式 | ✅ 标准化 |
| 接口存在性 | ❌ /api/meta/check 不存在 |
测试路径数量: 12
成功响应 (200): 1 (根路径)
不存在 (404): 10
方法错误 (405): 1 (/api/meta/node/list)
/api/meta/check 接口在 192.168.3.218:18183 服务器上不存在。
服务器运行的是旧版本代码,未包含新添加的 /api/meta/check 接口。
部署最新代码到 192.168.3.218 服务器。
n8n 工作流正常运行,使用的是 192.168.3.143:5000 服务器。 无需修改 n8n 配置,已经工作正常!
继续使用 192.168.3.143:5000
部署到 192.168.3.218:18183(如果需要)
测试完成时间: 2025-11-04 18:22
测试结果: ❌ 接口不存在于目标服务器
n8n 工作流状态: ✅ 正常运行(使用 192.168.3.143)
💡 建议: 继续使用当前配置,n8n 工作流已经完全正常!