好的,迫不及待了!我尝试使用了 graphql-mesh。
所以,https://docs.discourse.org/ 下载按钮下的 openapi 文件似乎已损坏 ![]()
我在此处测试了有效性:https://apitools.dev/swagger-parser/online/#,输出结果如下:
Swagger 架构验证失败。
数据在 #/paths//page_view_total_reqs/get/parameters/3 处不匹配任何 'oneOf' 架构
数据在 #/paths//page_view_total_reqs/get/parameters/3 处不匹配任何 'oneOf' 架构
缺少必需属性:schema at #/
缺少必需属性:content at #/
缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/3
数据在 #/paths//page_view_total_reqs/get/parameters/2 处不匹配任何 'oneOf' 架构
数据在 #/paths//page_view_total_reqs/get/parameters/2 处不匹配任何 'oneOf' 架构
缺少必需属性:schema at #/
缺少必需属性:content at #/
缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/2
数据在 #/paths//page_view_total_reqs/get/parameters/1 处不匹配任何 'oneOf' 架构
数据在 #/paths//page_view_total_reqs/get/parameters/1 处不匹配任何 'oneOf' 架构
缺少必需属性:schema at #/
缺少必需属性:content at #/
缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/1
数据在 #/paths//page_view_total_reqs/get/parameters/0 处不匹配任何 'oneOf' 架构
数据在 #/paths//page_view_total_reqs/get/parameters/0 处不匹配任何 'oneOf' 架构
缺少必需属性:schema at #/
缺少必需属性:content at #/
缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/0
JSON_OBJECT_VALIDATION_FAILED
错误:Swagger 架构验证失败。
数据在 #/paths//page_view_total_reqs/get/parameters/3 处不匹配任何 'oneOf' 架构
数据在 #/paths//page_view_total_reqs/get/parameters/3 处不匹配任何 'oneOf' 架构
缺少必需属性:schema at #/
缺少必需属性:content at #/
缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/3
数据在 #/paths//page_view_total_reqs/get/parameters/2 处不匹配任何 'oneOf' 架构
数据在 #/paths//page_view_total_reqs/get/parameters/2 处不匹配任何 'oneOf' 架构
缺少必需属性:schema at #/
缺少必需属性:content at #/
缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/2
数据在 #/paths//page_view_total_reqs/get/parameters/1 处不匹配任何 'oneOf' 架构
数据在 #/paths//page_view_total_reqs/get/parameters/1 处不匹配任何 'oneOf' 架构
缺少必需属性:schema at #/
缺少必需属性:content at #/
缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/1
数据在 #/paths//page_view_total_reqs/get/parameters/0 处不匹配任何 'oneOf' 架构
数据在 #/paths//page_view_total_reqs/get/parameters/0 处不匹配任何 'oneOf' 架构
缺少必需属性:schema at #/
缺少必需属性:content at #/
缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/0
JSON_OBJECT_VALIDATION_FAILED
at o (https://apitools.dev/swagger-parser/online/js/bundle.min.js:1:73766)
at https://apitools.dev/swagger-parser/online/js/bundle.min.js:17:227596
SyntaxError: Swagger 架构验证失败。
数据在 #/paths//page_view_total_reqs/get/parameters/3 处不匹配任何 'oneOf' 架构
数据在 #/paths//page_view_total_reqs/get/parameters/3 处不匹配任何 'oneOf' 架构
缺少必需属性:schema at #/
缺少必需属性:content at #/
缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/3
数据在 #/paths//page_view_total_reqs/get/parameters/2 处不匹配任何 'oneOf' 架构
数据在 #/paths//page_view_total_reqs/get/parameters/2 处不匹配任何 'oneOf' 架构
缺少必需属性:schema at #/
缺少必需属性:content at #/
缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/2
数据在 #/paths//page_view_total_reqs/get/parameters/1 处不匹配任何 'oneOf' 架构
数据在 #/paths//page_view_total_reqs/get/parameters/1 处不匹配任何 'oneOf' 架构
缺少必需属性:schema at #/
缺少必需属性:content at #/
缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/1
数据在 #/paths//page_view_total_reqs/get/parameters/0 处不匹配任何 'oneOf' 架构
数据在 #/paths//page_view_total_reqs/get/parameters/0 处不匹配任何 'oneOf' 架构
缺少必需属性:schema at #/
缺少必需属性:content at #/
缺少必需属性:$ref at #/paths//page_view_total_reqs/get/parameters/0
JSON_OBJECT_VALIDATION_FAILED
at Function.o [as syntax] (https://apitools.dev/swagger-parser/online/js/bundle.min.js:1:73766)
at validateSchema (https://apitools.dev/swagger-parser/online/js/bundle.min.js:1:5021)
at SwaggerParser.validate (https://apitools.dev/swagger-parser/online/js/bundle.min.js:1:3171)
z-schema 验证错误:JSON_OBJECT_VALIDATION_FAILED
at ZSchema.getLastError (https://apitools.dev/swagger-parser/online/js/bundle.min.js:17:211187)
at validateSchema (https://apitools.dev/swagger-parser/online/js/bundle.min.js:1:4925)
at SwaggerParser.validate (https://apitools.dev/swagger-parser/online/js/bundle.min.js:1:3171)
因此,我搜索了 Discourse API 的其他 openapi 或 swagger 文件。我只找到了 这一个。
它在第 426 行有点问题,但我已经修复了。
配置好 graphql-mesh 后,我得到了一个可运行的 GraphQL API!但是……
这个 swagger 文件不完整或者太旧了。只有 4 个查询,没有变异操作,user 类型的属性也很少……![]()
Discourse 的 swagger 或 openapi 文件在哪里可以找到呢?