fix: 修复一系列问题并生成swagger一键脚本
This commit is contained in:
@@ -464,6 +464,27 @@ go run ./cmd/server
|
||||
http://localhost:3001/swagger/index.html
|
||||
```
|
||||
|
||||
### 9.4 生成 Swagger 文档
|
||||
|
||||
仓库根目录提供了两个脚本,方便重新生成 API 文档:
|
||||
|
||||
- Linux / WSL / macOS:`./gen_swagger.sh`
|
||||
- Windows PowerShell:`./gen_swagger.ps1`
|
||||
|
||||
脚本会自动切换到 `backend/` 目录,并执行:
|
||||
|
||||
```bash
|
||||
swag init -g ./cmd/server/main.go --parseDependency --parseInternal
|
||||
```
|
||||
|
||||
生成产物位于 `backend/docs/` 下:
|
||||
|
||||
- `docs.go`
|
||||
- `swagger.json`
|
||||
- `swagger.yaml`
|
||||
|
||||
如果遇到 `cannot find type definition: model.GraphData` 之类的报错,通常是 handler 文件里缺少 `internal/model` 的显式导入。
|
||||
|
||||
---
|
||||
|
||||
## 十、当前实现特点
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
swaggerFiles "github.com/swaggo/files"
|
||||
ginSwagger "github.com/swaggo/gin-swagger"
|
||||
|
||||
"knowledge-graph-backend/docs"
|
||||
_ "knowledge-graph-backend/docs"
|
||||
"knowledge-graph-backend/internal/config"
|
||||
"knowledge-graph-backend/internal/handler"
|
||||
neo4jClient "knowledge-graph-backend/internal/repository/neo4j"
|
||||
@@ -45,7 +45,6 @@ func main() {
|
||||
|
||||
router.Use(cors.New(cfg.CORS.ToGinConfig()))
|
||||
|
||||
docs.SwaggerInfo.BasePath = "/"
|
||||
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
|
||||
// @Summary 健康检查
|
||||
|
||||
+65
-63
@@ -32,7 +32,7 @@ const docTemplate = `{
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.CreateEdgeRequest"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.CreateEdgeRequest"
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -40,31 +40,31 @@ const docTemplate = `{
|
||||
"200": {
|
||||
"description": "创建成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.EdgeResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.EdgeResponse"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "请求错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "源节点或目标节点未找到",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"409": {
|
||||
"description": "边已存在",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -90,19 +90,19 @@ const docTemplate = `{
|
||||
"200": {
|
||||
"description": "删除成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.DeleteResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.DeleteResponse"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "边未找到",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -119,13 +119,13 @@ const docTemplate = `{
|
||||
"200": {
|
||||
"description": "成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.GraphData"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.GraphData"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -142,13 +142,13 @@ const docTemplate = `{
|
||||
"200": {
|
||||
"description": "成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.SimpleGraphData"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.SimpleGraphData"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -172,7 +172,7 @@ const docTemplate = `{
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -195,7 +195,7 @@ const docTemplate = `{
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.CreateNodeRequest"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.CreateNodeRequest"
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -203,25 +203,25 @@ const docTemplate = `{
|
||||
"200": {
|
||||
"description": "创建成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.Node"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.Node"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "请求错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"409": {
|
||||
"description": "节点已存在",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -247,25 +247,25 @@ const docTemplate = `{
|
||||
"200": {
|
||||
"description": "成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.NodeResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.NodeResponse"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "请求错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "节点未找到",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -293,7 +293,7 @@ const docTemplate = `{
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.UpdateNodeRequest"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.UpdateNodeRequest"
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -301,25 +301,25 @@ const docTemplate = `{
|
||||
"200": {
|
||||
"description": "更新成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.Node"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.Node"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "请求错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "节点未找到",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -343,19 +343,19 @@ const docTemplate = `{
|
||||
"200": {
|
||||
"description": "删除成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.DeleteResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.DeleteResponse"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "节点未找到",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -381,25 +381,25 @@ const docTemplate = `{
|
||||
"200": {
|
||||
"description": "成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.NeighborResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.NeighborResponse"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "请求错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "节点未找到",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -425,19 +425,19 @@ const docTemplate = `{
|
||||
"200": {
|
||||
"description": "成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.SearchResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.SearchResponse"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "请求错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -445,7 +445,7 @@ const docTemplate = `{
|
||||
}
|
||||
},
|
||||
"definitions": {
|
||||
"model.CreateEdgeRequest": {
|
||||
"knowledge-graph-backend_internal_model.CreateEdgeRequest": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"id",
|
||||
@@ -480,7 +480,7 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.CreateNodeRequest": {
|
||||
"knowledge-graph-backend_internal_model.CreateNodeRequest": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"id",
|
||||
@@ -514,7 +514,7 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.DeleteResponse": {
|
||||
"knowledge-graph-backend_internal_model.DeleteResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
@@ -531,7 +531,7 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.Edge": {
|
||||
"knowledge-graph-backend_internal_model.Edge": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
@@ -559,7 +559,7 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.EdgeResponse": {
|
||||
"knowledge-graph-backend_internal_model.EdgeResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
@@ -588,52 +588,54 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.ErrorResponse": {
|
||||
"knowledge-graph-backend_internal_model.ErrorResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "bad_request"
|
||||
},
|
||||
"message": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "invalid request"
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.GraphData": {
|
||||
"knowledge-graph-backend_internal_model.GraphData": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"edges": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.Edge"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.Edge"
|
||||
}
|
||||
},
|
||||
"nodes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.Node"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.Node"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.NeighborResponse": {
|
||||
"knowledge-graph-backend_internal_model.NeighborResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"edges": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.Edge"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.Edge"
|
||||
}
|
||||
},
|
||||
"nodes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.Node"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.Node"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.Node": {
|
||||
"knowledge-graph-backend_internal_model.Node": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
@@ -661,7 +663,7 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.NodeResponse": {
|
||||
"knowledge-graph-backend_internal_model.NodeResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
@@ -673,7 +675,7 @@ const docTemplate = `{
|
||||
"neighbors": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.Node"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.Node"
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
@@ -695,7 +697,7 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.SearchResponse": {
|
||||
"knowledge-graph-backend_internal_model.SearchResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"count": {
|
||||
@@ -704,7 +706,7 @@ const docTemplate = `{
|
||||
"nodes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.Node"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.Node"
|
||||
}
|
||||
},
|
||||
"query": {
|
||||
@@ -712,7 +714,7 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.SimpleEdge": {
|
||||
"knowledge-graph-backend_internal_model.SimpleEdge": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"label": {
|
||||
@@ -733,24 +735,24 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.SimpleGraphData": {
|
||||
"knowledge-graph-backend_internal_model.SimpleGraphData": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"edges": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.SimpleEdge"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.SimpleEdge"
|
||||
}
|
||||
},
|
||||
"nodes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.SimpleNode"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.SimpleNode"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.SimpleNode": {
|
||||
"knowledge-graph-backend_internal_model.SimpleNode": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
@@ -767,7 +769,7 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.UpdateNodeRequest": {
|
||||
"knowledge-graph-backend_internal_model.UpdateNodeRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"label": {
|
||||
|
||||
+65
-63
@@ -26,7 +26,7 @@
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.CreateEdgeRequest"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.CreateEdgeRequest"
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -34,31 +34,31 @@
|
||||
"200": {
|
||||
"description": "创建成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.EdgeResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.EdgeResponse"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "请求错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "源节点或目标节点未找到",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"409": {
|
||||
"description": "边已存在",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -84,19 +84,19 @@
|
||||
"200": {
|
||||
"description": "删除成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.DeleteResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.DeleteResponse"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "边未找到",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -113,13 +113,13 @@
|
||||
"200": {
|
||||
"description": "成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.GraphData"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.GraphData"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -136,13 +136,13 @@
|
||||
"200": {
|
||||
"description": "成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.SimpleGraphData"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.SimpleGraphData"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -166,7 +166,7 @@
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -189,7 +189,7 @@
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.CreateNodeRequest"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.CreateNodeRequest"
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -197,25 +197,25 @@
|
||||
"200": {
|
||||
"description": "创建成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.Node"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.Node"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "请求错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"409": {
|
||||
"description": "节点已存在",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -241,25 +241,25 @@
|
||||
"200": {
|
||||
"description": "成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.NodeResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.NodeResponse"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "请求错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "节点未找到",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -287,7 +287,7 @@
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.UpdateNodeRequest"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.UpdateNodeRequest"
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -295,25 +295,25 @@
|
||||
"200": {
|
||||
"description": "更新成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.Node"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.Node"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "请求错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "节点未找到",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -337,19 +337,19 @@
|
||||
"200": {
|
||||
"description": "删除成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.DeleteResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.DeleteResponse"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "节点未找到",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -375,25 +375,25 @@
|
||||
"200": {
|
||||
"description": "成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.NeighborResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.NeighborResponse"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "请求错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "节点未找到",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -419,19 +419,19 @@
|
||||
"200": {
|
||||
"description": "成功",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.SearchResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.SearchResponse"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "请求错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "内部错误",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ErrorResponse"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -439,7 +439,7 @@
|
||||
}
|
||||
},
|
||||
"definitions": {
|
||||
"model.CreateEdgeRequest": {
|
||||
"knowledge-graph-backend_internal_model.CreateEdgeRequest": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"id",
|
||||
@@ -474,7 +474,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.CreateNodeRequest": {
|
||||
"knowledge-graph-backend_internal_model.CreateNodeRequest": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"id",
|
||||
@@ -508,7 +508,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.DeleteResponse": {
|
||||
"knowledge-graph-backend_internal_model.DeleteResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
@@ -525,7 +525,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.Edge": {
|
||||
"knowledge-graph-backend_internal_model.Edge": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
@@ -553,7 +553,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.EdgeResponse": {
|
||||
"knowledge-graph-backend_internal_model.EdgeResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
@@ -582,52 +582,54 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.ErrorResponse": {
|
||||
"knowledge-graph-backend_internal_model.ErrorResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "bad_request"
|
||||
},
|
||||
"message": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "invalid request"
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.GraphData": {
|
||||
"knowledge-graph-backend_internal_model.GraphData": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"edges": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.Edge"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.Edge"
|
||||
}
|
||||
},
|
||||
"nodes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.Node"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.Node"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.NeighborResponse": {
|
||||
"knowledge-graph-backend_internal_model.NeighborResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"edges": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.Edge"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.Edge"
|
||||
}
|
||||
},
|
||||
"nodes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.Node"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.Node"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.Node": {
|
||||
"knowledge-graph-backend_internal_model.Node": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
@@ -655,7 +657,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.NodeResponse": {
|
||||
"knowledge-graph-backend_internal_model.NodeResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
@@ -667,7 +669,7 @@
|
||||
"neighbors": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.Node"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.Node"
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
@@ -689,7 +691,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.SearchResponse": {
|
||||
"knowledge-graph-backend_internal_model.SearchResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"count": {
|
||||
@@ -698,7 +700,7 @@
|
||||
"nodes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.Node"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.Node"
|
||||
}
|
||||
},
|
||||
"query": {
|
||||
@@ -706,7 +708,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.SimpleEdge": {
|
||||
"knowledge-graph-backend_internal_model.SimpleEdge": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"label": {
|
||||
@@ -727,24 +729,24 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.SimpleGraphData": {
|
||||
"knowledge-graph-backend_internal_model.SimpleGraphData": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"edges": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.SimpleEdge"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.SimpleEdge"
|
||||
}
|
||||
},
|
||||
"nodes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/model.SimpleNode"
|
||||
"$ref": "#/definitions/knowledge-graph-backend_internal_model.SimpleNode"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.SimpleNode": {
|
||||
"knowledge-graph-backend_internal_model.SimpleNode": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
@@ -761,7 +763,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"model.UpdateNodeRequest": {
|
||||
"knowledge-graph-backend_internal_model.UpdateNodeRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"label": {
|
||||
|
||||
+63
-61
@@ -1,6 +1,6 @@
|
||||
basePath: /
|
||||
definitions:
|
||||
model.CreateEdgeRequest:
|
||||
knowledge-graph-backend_internal_model.CreateEdgeRequest:
|
||||
properties:
|
||||
id:
|
||||
example: edge_123
|
||||
@@ -26,7 +26,7 @@ definitions:
|
||||
- source
|
||||
- target
|
||||
type: object
|
||||
model.CreateNodeRequest:
|
||||
knowledge-graph-backend_internal_model.CreateNodeRequest:
|
||||
properties:
|
||||
id:
|
||||
example: node_123
|
||||
@@ -51,7 +51,7 @@ definitions:
|
||||
- label
|
||||
- type
|
||||
type: object
|
||||
model.DeleteResponse:
|
||||
knowledge-graph-backend_internal_model.DeleteResponse:
|
||||
properties:
|
||||
id:
|
||||
example: node_123
|
||||
@@ -63,7 +63,7 @@ definitions:
|
||||
example: true
|
||||
type: boolean
|
||||
type: object
|
||||
model.Edge:
|
||||
knowledge-graph-backend_internal_model.Edge:
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
@@ -82,7 +82,7 @@ definitions:
|
||||
type:
|
||||
type: string
|
||||
type: object
|
||||
model.EdgeResponse:
|
||||
knowledge-graph-backend_internal_model.EdgeResponse:
|
||||
properties:
|
||||
id:
|
||||
example: edge_123
|
||||
@@ -103,36 +103,38 @@ definitions:
|
||||
example: CONTAINS
|
||||
type: string
|
||||
type: object
|
||||
model.ErrorResponse:
|
||||
knowledge-graph-backend_internal_model.ErrorResponse:
|
||||
properties:
|
||||
error:
|
||||
example: bad_request
|
||||
type: string
|
||||
message:
|
||||
example: invalid request
|
||||
type: string
|
||||
type: object
|
||||
model.GraphData:
|
||||
knowledge-graph-backend_internal_model.GraphData:
|
||||
properties:
|
||||
edges:
|
||||
items:
|
||||
$ref: '#/definitions/model.Edge'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.Edge'
|
||||
type: array
|
||||
nodes:
|
||||
items:
|
||||
$ref: '#/definitions/model.Node'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.Node'
|
||||
type: array
|
||||
type: object
|
||||
model.NeighborResponse:
|
||||
knowledge-graph-backend_internal_model.NeighborResponse:
|
||||
properties:
|
||||
edges:
|
||||
items:
|
||||
$ref: '#/definitions/model.Edge'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.Edge'
|
||||
type: array
|
||||
nodes:
|
||||
items:
|
||||
$ref: '#/definitions/model.Node'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.Node'
|
||||
type: array
|
||||
type: object
|
||||
model.Node:
|
||||
knowledge-graph-backend_internal_model.Node:
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
@@ -151,7 +153,7 @@ definitions:
|
||||
"y":
|
||||
type: number
|
||||
type: object
|
||||
model.NodeResponse:
|
||||
knowledge-graph-backend_internal_model.NodeResponse:
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
@@ -159,7 +161,7 @@ definitions:
|
||||
type: string
|
||||
neighbors:
|
||||
items:
|
||||
$ref: '#/definitions/model.Node'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.Node'
|
||||
type: array
|
||||
properties:
|
||||
additionalProperties: true
|
||||
@@ -174,18 +176,18 @@ definitions:
|
||||
"y":
|
||||
type: number
|
||||
type: object
|
||||
model.SearchResponse:
|
||||
knowledge-graph-backend_internal_model.SearchResponse:
|
||||
properties:
|
||||
count:
|
||||
type: integer
|
||||
nodes:
|
||||
items:
|
||||
$ref: '#/definitions/model.Node'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.Node'
|
||||
type: array
|
||||
query:
|
||||
type: string
|
||||
type: object
|
||||
model.SimpleEdge:
|
||||
knowledge-graph-backend_internal_model.SimpleEdge:
|
||||
properties:
|
||||
label:
|
||||
example: 包含
|
||||
@@ -200,18 +202,18 @@ definitions:
|
||||
example: CONTAINS
|
||||
type: string
|
||||
type: object
|
||||
model.SimpleGraphData:
|
||||
knowledge-graph-backend_internal_model.SimpleGraphData:
|
||||
properties:
|
||||
edges:
|
||||
items:
|
||||
$ref: '#/definitions/model.SimpleEdge'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.SimpleEdge'
|
||||
type: array
|
||||
nodes:
|
||||
items:
|
||||
$ref: '#/definitions/model.SimpleNode'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.SimpleNode'
|
||||
type: array
|
||||
type: object
|
||||
model.SimpleNode:
|
||||
knowledge-graph-backend_internal_model.SimpleNode:
|
||||
properties:
|
||||
id:
|
||||
example: "1"
|
||||
@@ -223,7 +225,7 @@ definitions:
|
||||
example: 概念
|
||||
type: string
|
||||
type: object
|
||||
model.UpdateNodeRequest:
|
||||
knowledge-graph-backend_internal_model.UpdateNodeRequest:
|
||||
properties:
|
||||
label:
|
||||
example: 机器学习
|
||||
@@ -259,30 +261,30 @@ paths:
|
||||
name: request
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/model.CreateEdgeRequest'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.CreateEdgeRequest'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: 创建成功
|
||||
schema:
|
||||
$ref: '#/definitions/model.EdgeResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.EdgeResponse'
|
||||
"400":
|
||||
description: 请求错误
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
"404":
|
||||
description: 源节点或目标节点未找到
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
"409":
|
||||
description: 边已存在
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
"500":
|
||||
description: 内部错误
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
summary: 创建边
|
||||
/api/edges/{id}:
|
||||
delete:
|
||||
@@ -299,15 +301,15 @@ paths:
|
||||
"200":
|
||||
description: 删除成功
|
||||
schema:
|
||||
$ref: '#/definitions/model.DeleteResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.DeleteResponse'
|
||||
"404":
|
||||
description: 边未找到
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
"500":
|
||||
description: 内部错误
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
summary: 删除边
|
||||
/api/graph:
|
||||
get:
|
||||
@@ -318,11 +320,11 @@ paths:
|
||||
"200":
|
||||
description: 成功
|
||||
schema:
|
||||
$ref: '#/definitions/model.GraphData'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.GraphData'
|
||||
"500":
|
||||
description: 内部错误
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
summary: 获取图数据
|
||||
/api/graph/simpleJson:
|
||||
get:
|
||||
@@ -333,11 +335,11 @@ paths:
|
||||
"200":
|
||||
description: 成功
|
||||
schema:
|
||||
$ref: '#/definitions/model.SimpleGraphData'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.SimpleGraphData'
|
||||
"500":
|
||||
description: 内部错误
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
summary: 获取简化图数据
|
||||
/api/graph/stats:
|
||||
get:
|
||||
@@ -353,7 +355,7 @@ paths:
|
||||
"500":
|
||||
description: 内部错误
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
summary: 获取图统计信息
|
||||
/api/nodes:
|
||||
post:
|
||||
@@ -366,26 +368,26 @@ paths:
|
||||
name: request
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/model.CreateNodeRequest'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.CreateNodeRequest'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: 创建成功
|
||||
schema:
|
||||
$ref: '#/definitions/model.Node'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.Node'
|
||||
"400":
|
||||
description: 请求错误
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
"409":
|
||||
description: 节点已存在
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
"500":
|
||||
description: 内部错误
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
summary: 创建节点
|
||||
/api/nodes/{id}:
|
||||
delete:
|
||||
@@ -402,15 +404,15 @@ paths:
|
||||
"200":
|
||||
description: 删除成功
|
||||
schema:
|
||||
$ref: '#/definitions/model.DeleteResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.DeleteResponse'
|
||||
"404":
|
||||
description: 节点未找到
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
"500":
|
||||
description: 内部错误
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
summary: 删除节点
|
||||
get:
|
||||
description: 根据节点 ID 获取知识图谱中的节点详细信息
|
||||
@@ -426,19 +428,19 @@ paths:
|
||||
"200":
|
||||
description: 成功
|
||||
schema:
|
||||
$ref: '#/definitions/model.NodeResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.NodeResponse'
|
||||
"400":
|
||||
description: 请求错误
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
"404":
|
||||
description: 节点未找到
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
"500":
|
||||
description: 内部错误
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
summary: 获取节点详情
|
||||
put:
|
||||
consumes:
|
||||
@@ -455,26 +457,26 @@ paths:
|
||||
name: request
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/model.UpdateNodeRequest'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.UpdateNodeRequest'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: 更新成功
|
||||
schema:
|
||||
$ref: '#/definitions/model.Node'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.Node'
|
||||
"400":
|
||||
description: 请求错误
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
"404":
|
||||
description: 节点未找到
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
"500":
|
||||
description: 内部错误
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
summary: 更新节点
|
||||
/api/nodes/{id}/neighbors:
|
||||
get:
|
||||
@@ -491,19 +493,19 @@ paths:
|
||||
"200":
|
||||
description: 成功
|
||||
schema:
|
||||
$ref: '#/definitions/model.NeighborResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.NeighborResponse'
|
||||
"400":
|
||||
description: 请求错误
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
"404":
|
||||
description: 节点未找到
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
"500":
|
||||
description: 内部错误
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
summary: 获取节点邻居
|
||||
/api/search:
|
||||
get:
|
||||
@@ -520,14 +522,14 @@ paths:
|
||||
"200":
|
||||
description: 成功
|
||||
schema:
|
||||
$ref: '#/definitions/model.SearchResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.SearchResponse'
|
||||
"400":
|
||||
description: 请求错误
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
"500":
|
||||
description: 内部错误
|
||||
schema:
|
||||
$ref: '#/definitions/model.ErrorResponse'
|
||||
$ref: '#/definitions/knowledge-graph-backend_internal_model.ErrorResponse'
|
||||
summary: 搜索节点
|
||||
swagger: "2.0"
|
||||
|
||||
@@ -83,8 +83,3 @@ type SearchResponse struct {
|
||||
Nodes []Node `json:"nodes"`
|
||||
}
|
||||
|
||||
// ErrorResponse represents an error response
|
||||
type ErrorResponse struct {
|
||||
Error string `json:"error"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/neo4j/neo4j-go-driver/v5/neo4j"
|
||||
|
||||
"knowledge-graph-backend/internal/model"
|
||||
)
|
||||
|
||||
func (s *Neo4jService) fetchNodeByID(id string) (model.Node, bool, error) {
|
||||
ctx := context.Background()
|
||||
result, err := neo4j.ExecuteQuery(ctx, s.driver,
|
||||
`MATCH (n {id: $id}) RETURN n LIMIT 1`,
|
||||
map[string]any{"id": id},
|
||||
neo4j.EagerResultTransformer,
|
||||
)
|
||||
if err != nil {
|
||||
return model.Node{}, false, err
|
||||
}
|
||||
if len(result.Records) == 0 {
|
||||
return model.Node{}, false, nil
|
||||
}
|
||||
|
||||
v, _ := result.Records[0].Get("n")
|
||||
n, ok := v.(neo4j.Node)
|
||||
if !ok {
|
||||
return model.Node{}, false, nil
|
||||
}
|
||||
return neo4jNodeToModel(n), true, nil
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package service
|
||||
|
||||
import "github.com/neo4j/neo4j-go-driver/v5/neo4j"
|
||||
|
||||
// Neo4jService provides graph operations backed by Neo4j.
|
||||
type Neo4jService struct {
|
||||
driver neo4j.DriverWithContext
|
||||
}
|
||||
|
||||
// NewNeo4jService creates a new Neo4j-backed graph service.
|
||||
func NewNeo4jService(driver neo4j.DriverWithContext) *Neo4jService {
|
||||
return &Neo4jService{driver: driver}
|
||||
}
|
||||
Executable
+6
@@ -0,0 +1,6 @@
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||
Set-Location (Join-Path $ScriptDir 'backend')
|
||||
|
||||
swag init -g ./cmd/server/main.go --parseDependency --parseInternal
|
||||
Executable
+7
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
cd "$SCRIPT_DIR/backend"
|
||||
|
||||
swag init -g ./cmd/server/main.go --parseDependency --parseInternal --output ./docs
|
||||
Reference in New Issue
Block a user