はい、待ちきれません!graphql-mesh で試してみました。
https://docs.discourse.org/ のダウンロードボタンにある openapi ファイルは壊れているようです ![]()
この出力で 有効性をテスト しました:
Swagger スキーマ検証に失敗しました。
#/paths//page_view_total_reqs/get/parameters/3 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/paths//page_view_total_reqs/get/parameters/3 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/ に必要なプロパティ 'schema' が不足しています
#/ に必要なプロパティ 'content' が不足しています
#/paths//page_view_total_reqs/get/parameters/3 に必要なプロパティ '$ref' が不足しています
#/paths//page_view_total_reqs/get/parameters/2 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/paths//page_view_total_reqs/get/parameters/2 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/ に必要なプロパティ 'schema' が不足しています
#/ に必要なプロパティ 'content' が不足しています
#/paths//page_view_total_reqs/get/parameters/2 に必要なプロパティ '$ref' が不足しています
#/paths//page_view_total_reqs/get/parameters/1 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/paths//page_view_total_reqs/get/parameters/1 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/ に必要なプロパティ 'schema' が不足しています
#/ に必要なプロパティ 'content' が不足しています
#/paths//page_view_total_reqs/get/parameters/1 に必要なプロパティ '$ref' が不足しています
#/paths//page_view_total_reqs/get/parameters/0 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/paths//page_view_total_reqs/get/parameters/0 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/ に必要なプロパティ 'schema' が不足しています
#/ に必要なプロパティ 'content' が不足しています
#/paths//page_view_total_reqs/get/parameters/0 に必要なプロパティ '$ref' が不足しています
JSON_OBJECT_VALIDATION_FAILED
エラー: Swagger スキーマ検証に失敗しました。
#/paths//page_view_total_reqs/get/parameters/3 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/paths//page_view_total_reqs/get/parameters/3 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/ に必要なプロパティ 'schema' が不足しています
#/ に必要なプロパティ 'content' が不足しています
#/paths//page_view_total_reqs/get/parameters/3 に必要なプロパティ '$ref' が不足しています
#/paths//page_view_total_reqs/get/parameters/2 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/paths//page_view_total_reqs/get/parameters/2 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/ に必要なプロパティ 'schema' が不足しています
#/ に必要なプロパティ 'content' が不足しています
#/paths//page_view_total_reqs/get/parameters/2 に必要なプロパティ '$ref' が不足しています
#/paths//page_view_total_reqs/get/parameters/1 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/paths//page_view_total_reqs/get/parameters/1 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/ に必要なプロパティ 'schema' が不足しています
#/ に必要なプロパティ 'content' が不足しています
#/paths//page_view_total_reqs/get/parameters/1 に必要なプロパティ '$ref' が不足しています
#/paths//page_view_total_reqs/get/parameters/0 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/paths//page_view_total_reqs/get/parameters/0 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/ に必要なプロパティ 'schema' が不足しています
#/ に必要なプロパティ 'content' が不足しています
#/paths//page_view_total_reqs/get/parameters/0 に必要なプロパティ '$ref' が不足しています
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' が不足しています
#/ に必要なプロパティ 'content' が不足しています
#/paths//page_view_total_reqs/get/parameters/3 に必要なプロパティ '$ref' が不足しています
#/paths//page_view_total_reqs/get/parameters/2 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/paths//page_view_total_reqs/get/parameters/2 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/ に必要なプロパティ 'schema' が不足しています
#/ に必要なプロパティ 'content' が不足しています
#/paths//page_view_total_reqs/get/parameters/2 に必要なプロパティ '$ref' が不足しています
#/paths//page_view_total_reqs/get/parameters/1 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/paths//page_view_total_reqs/get/parameters/1 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/ に必要なプロパティ 'schema' が不足しています
#/ に必要なプロパティ 'content' が不足しています
#/paths//page_view_total_reqs/get/parameters/1 に必要なプロパティ '$ref' が不足しています
#/paths//page_view_total_reqs/get/parameters/0 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/paths//page_view_total_reqs/get/parameters/0 の 'oneOf' のいずれかのスキーマとデータが一致しません
#/ に必要なプロパティ 'schema' が不足しています
#/ に必要なプロパティ 'content' が不足しています
#/paths//page_view_total_reqs/get/parameters/0 に必要なプロパティ '$ref' が不足しています
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 つだけで、ミューテーションはなく、type user のプロパティも非常に少ないです… ![]()
Discourse の swagger または openapi ファイルはどこかにありますか?