https://docs.discourse.org/openapi.json 上的 Swagger 似乎无效。
复现场景:
- 访问 https://editor.swagger.io/
- 点击 文件 → 导入 URL。
- 输入该 URL。
几秒钟后,出现 142 个验证错误。
无法附加文件,但错误类似于:
paths./categories.json.post.responses.200.content.application/json.schema.properties.category.properties.name.description 处的结构错误
应为字符串
跳转到第 184 行
paths./categories.json.post.responses.200.content.application/json.schema.properties.category.properties.color.description 处的结构错误
应为字符串
跳转到第 187 行
paths./categories.json.post.responses.200.content.application/json.schema.properties.category.properties.text_color.description 处的结构错误
应为字符串
跳转到第 190 行
... 更多 ...
是否有可用的替代(有效)Swagger 定义?
建议的补丁
以下是截至目前建议的补丁。
摘要
diff --git "a/discourse-swagger-original.json" "b/discourse-swagger.json"
index f9267f5d0..dcebe3fd8 100644
--- "a/discourse-swagger-original.json"
+++ "b/discourse-swagger.json"
@@ -578,8 +578,8 @@
},
"available_groups": {
"type": "array",
- "uniqueItems": null,
- "minItems": null,
+ "uniqueItems": false,
+ "minItems": 0,
"items": {
"type": "object"
}
@@ -1196,8 +1196,8 @@
},
"actions_summary": {
"type": "array",
- "uniqueItems": null,
- "minItems": null,
+ "uniqueItems": false,
+ "minItems": 0,
"items": {
"type": "object"
}
@@ -1788,8 +1788,8 @@
},
"actions_summary": {
"type": "array",
- "uniqueItems": null,
- "minItems": null,
+ "uniqueItems": false,
+ "minItems": 0,
"items": {
"type": "object"
}
@@ -1885,8 +1885,8 @@
},
"stream": {
"type": "array",
- "uniqueItems": null,
- "minItems": null,
+ "uniqueItems": false,
+ "minItems": 0,
"items": {
"type": "object"
}
@@ -1899,14 +1899,14 @@
},
"timeline_lookup": {
"type": "array",
- "uniqueItems": null,
- "minItems": null,
+ "uniqueItems": false,
+ "minItems": 0,
"items": {
"properties": {
"0": {
"type": "array",
"uniqueItems": true,
- "minItems": null,
+ "minItems": 0,
"items": {
"type": "object"
}
@@ -3621,8 +3621,8 @@
"properties": {
"user_badges": {
"type": "array",
- "uniqueItems": null,
- "minItems": null,
+ "uniqueItems": false,
+ "minItems": 0,
"items": {
"type": "object"
}
@@ -3798,8 +3798,8 @@
},
"featured_user_badge_ids": {
"type": "array",
- "uniqueItems": null,
- "minItems": null,
+ "uniqueItems": false,
+ "minItems": 0,
"items": {
"type": "object"
}
@@ -3864,8 +3864,8 @@
"properties": {
"user_badges": {
"type": "array",
- "uniqueItems": null,
- "minItems": null,
+ "uniqueItems": false,
+ "minItems": 0,
"items": {
"type": "object"
}
@@ -4041,8 +4041,8 @@
},
"featured_user_badge_ids": {
"type": "array",
- "uniqueItems": null,
- "minItems": null,
+ "uniqueItems": false,
+ "minItems": 0,
"items": {
"type": "object"
}
@@ -4734,8 +4734,8 @@
},
"posters": {
"type": "array",
- "uniqueItems": null,
- "minItems": null,
+ "uniqueItems": false,
+ "minItems": 0,
"items": {
"type": "object"
}
@@ -4745,16 +4745,16 @@
},
"users": {
"type": "array",
- "uniqueItems": null,
- "minItems": null,
+ "uniqueItems": false,
+ "minItems": 0,
"items": {
"type": "object"
}
},
"categories": {
"type": "array",
- "uniqueItems": null,
- "minItems": null,
+ "uniqueItems": false,
+ "minItems": 0,
"items": {
"type": "object"
}
@@ -4773,24 +4773,24 @@
},
"post_ids": {
"type": "array",
- "uniqueItems": null,
- "minItems": null,
+ "uniqueItems": false,
+ "minItems": 0,
"items": {
"type": "object"
}
},
"user_ids": {
"type": "array",
- "uniqueItems": null,
- "minItems": null,
+ "uniqueItems": false,
+ "minItems": 0,
"items": {
"type": "object"
}
},
"category_ids": {
"type": "array",
- "uniqueItems": null,
- "minItems": null,
+ "uniqueItems": false,
+ "minItems": 0,
"items": {
"type": "object"
}
@@ -6406,8 +6406,8 @@
},
"owners": {
"type": "array",
- "uniqueItems": null,
- "minItems": null,
+ "uniqueItems": false,
+ "minItems": 0,
"items": {
"type": "object"
}
@@ -7241,8 +7241,8 @@
},
"choices": {
"type": "array",
- "uniqueItems": null,
- "minItems": null,
+ "uniqueItems": false,
+ "minItems": 0,
"items": {
"type": "object"
}
