beginnerWJC opened a new issue, #2789:
URL: https://github.com/apache/apisix-dashboard/issues/2789
### Issue description
apisix-dashboard-3.0.0的导入功能,导入后缺少上游和插件部分
### Expected behavior
导出的路由json文件导入后可以直接使用,之前apisix-dashboard-2.13.0可以直接导出导入,3.0.0版本会缺少上游和插件部分
### How to Reproduce
1.新建一个路由,json结构如下:
`{
"uri": "/security/v2/security/*",
"name": "security-local",
"methods": [
"GET",
"POST",
"PUT",
"DELETE"
],
"plugins": {
"ext-plugin-pre-req": {
"_meta": {
"disable": false
},
"conf": [
{
"name": "DefaultValidator",
"value": ""
}
]
},
"response-rewrite": {
"_meta": {
"disable": false
},
"status_code": 200,
"vars": [
"OR",
[
"status",
"==",
400
],
[
"status",
"==",
401
],
[
"status",
"==",
406
]
]
}
},
"upstream": {
"nodes": [
{
"host": "192.168.2.14",
"port": 50003,
"weight": 1
}
],
"timeout": {
"connect": 6,
"send": 6,
"read": 6
},
"type": "roundrobin",
"scheme": "http",
"pass_host": "pass",
"keepalive_pool": {
"idle_timeout": 60,
"requests": 1000,
"size": 320
}
},
"status": 1
}`
2.导出该路由,导出的json结构为:
`{
"components": {},
"info": {
"title": "RoutesExport",
"version": "3.0.0"
},
"openapi": "3.0.0",
"paths": {
"/security/v2/security/{params}": {
"delete": {
"operationId": "security-localDELETE",
"parameters": [{
"description": "params in path",
"in": "path",
"name": "params",
"required": true,
"schema": {
"type": "string"
}
}],
"requestBody": {},
"responses": {
"default": {
"description": ""
}
},
"security": [],
"x-apisix-enable_websocket": false,
"x-apisix-id": "456091058716017577",
"x-apisix-plugins": {
"ext-plugin-pre-req": {
"_meta": {
"disable": false
},
"conf": [{
"name": "DefaultValidator",
"value": ""
}]
},
"response-rewrite": {
"_meta": {
"disable": false
},
"status_code": 200,
"vars": ["OR", ["status", "==", 400],
["status", "==", 401],
["status", "==", 406]
]
}
},
"x-apisix-priority": 0,
"x-apisix-status": 1,
"x-apisix-upstream": {
"nodes": [{
"host": "192.168.2.14",
"port": 50003,
"weight": 1
}],
"timeout": {
"connect": 6,
"send": 6,
"read": 6
},
"type": "roundrobin",
"scheme": "http",
"pass_host": "pass",
"keepalive_pool": {
"idle_timeout": 60,
"requests": 1000,
"size": 320
}
}
},
"get": {
"operationId": "security-localGET",
"parameters": [{
"description": "params in path",
"in": "path",
"name": "params",
"required": true,
"schema": {
"type": "string"
}
}],
"requestBody": {},
"responses": {
"default": {
"description": ""
}
},
"security": [],
"x-apisix-enable_websocket": false,
"x-apisix-id": "456091058716017577",
"x-apisix-plugins": {
"ext-plugin-pre-req": {
"_meta": {
"disable": false
},
"conf": [{
"name": "DefaultValidator",
"value": ""
}]
},
"response-rewrite": {
"_meta": {
"disable": false
},
"status_code": 200,
"vars": ["OR", ["status", "==", 400],
["status", "==", 401],
["status", "==", 406]
]
}
},
"x-apisix-priority": 0,
"x-apisix-status": 1,
"x-apisix-upstream": {
"nodes": [{
"host": "192.168.2.14",
"port": 50003,
"weight": 1
}],
"timeout": {
"connect": 6,
"send": 6,
"read": 6
},
"type": "roundrobin",
"scheme": "http",
"pass_host": "pass",
"keepalive_pool": {
"idle_timeout": 60,
"requests": 1000,
"size": 320
}
}
},
"post": {
"operationId": "security-localPOST",
"parameters": [{
"description": "params in path",
"in": "path",
"name": "params",
"required": true,
"schema": {
"type": "string"
}
}],
"requestBody": {},
"responses": {
"default": {
"description": ""
}
},
"security": [],
"x-apisix-enable_websocket": false,
"x-apisix-id": "456091058716017577",
"x-apisix-plugins": {
"ext-plugin-pre-req": {
"_meta": {
"disable": false
},
"conf": [{
"name": "DefaultValidator",
"value": ""
}]
},
"response-rewrite": {
"_meta": {
"disable": false
},
"status_code": 200,
"vars": ["OR", ["status", "==", 400],
["status", "==", 401],
["status", "==", 406]
]
}
},
"x-apisix-priority": 0,
"x-apisix-status": 1,
"x-apisix-upstream": {
"nodes": [{
"host": "192.168.2.14",
"port": 50003,
"weight": 1
}],
"timeout": {
"connect": 6,
"send": 6,
"read": 6
},
"type": "roundrobin",
"scheme": "http",
"pass_host": "pass",
"keepalive_pool": {
"idle_timeout": 60,
"requests": 1000,
"size": 320
}
}
},
"put": {
"operationId": "security-localPUT",
"parameters": [{
"description": "params in path",
"in": "path",
"name": "params",
"required": true,
"schema": {
"type": "string"
}
}],
"requestBody": {},
"responses": {
"default": {
"description": ""
}
},
"security": [],
"x-apisix-enable_websocket": false,
"x-apisix-id": "456091058716017577",
"x-apisix-plugins": {
"ext-plugin-pre-req": {
"_meta": {
"disable": false
},
"conf": [{
"name": "DefaultValidator",
"value": ""
}]
},
"response-rewrite": {
"_meta": {
"disable": false
},
"status_code": 200,
"vars": ["OR", ["status", "==", 400],
["status", "==", 401],
["status", "==", 406]
]
}
},
"x-apisix-priority": 0,
"x-apisix-status": 1,
"x-apisix-upstream": {
"nodes": [{
"host": "192.168.2.14",
"port": 50003,
"weight": 1
}],
"timeout": {
"connect": 6,
"send": 6,
"read": 6
},
"type": "roundrobin",
"scheme": "http",
"pass_host": "pass",
"keepalive_pool": {
"idle_timeout": 60,
"requests": 1000,
"size": 320
}
}
}
}
}
}`
3.使用导入功能导入后配置缺失:

### Screenshots
_No response_
### Environment
- apisix version (cmd: `apisix version`):3.2.0
- OS (cmd: `uname -a`):
- OpenResty / Nginx version (cmd: `nginx -V` or `openresty -V`):
- etcd version, if have (cmd: run `etcd --version`):3.4.0
- apisix-dashboard version, if have:3.0.0
- Browser version, if have:
### Additional context
_No response_
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]