2017-09-03 8 views
0

私は、GraphQLクライアントインテグレーションにApolloクライアントを使用しています。私は公式のドキュメントで示唆されている次の実行スクリプトを追加しました。すべてのGraphQLスカラーがString(Apollo)として公開されています

cd "${SRCROOT}/${TARGET_NAME}/GraphQL/Open" 
$APOLLO_FRAMEWORK_PATH/check-and-run-apollo-codegen.sh generate $(find 
. -name '*.graphql') --schema schema.json 
--output APIClient.swift 

しかし、来ている問題は、すべてのスカラーは今、Stringとして予定されているです。

例:電子メールとパスワードの突然変異を作成した場合、私のスキーマはJSONとして応答を返しますが、APIClientは応答をJSONではなくStringとして表示します。

これにエラーが発生した原因文字列がJSONの代わりに受信され、文字列が必要なJSONに変換することができないためである

Apollo.GraphQLResultError(path: ["login", "response"], underlying: Apollo.JSONDecodingError.couldNotConvert 

を述べていた受け取りました。

誰もが同じ問題に直面していますか?

答えて

0

私はそれを理解していました。解決方法は、実行スクリプトに

--passthrough-custom-scalars 

を追加することです。これはJSONのようなカスタムスカラーを渡します。だから、完全なRUNSCRIPTは、コードがJSONスカラーが有効になる。この実行スクリプトと一緒にrecompliedされる今

cd "${SRCROOT}/${TARGET_NAME}/GraphQL/Open" 
$APOLLO_FRAMEWORK_PATH/check-and-run-apollo-codegen.sh generate $(find 
. -name '*.graphql') --schema schema.json --passthrough-custom-scalars 
--output APIOpen.swift 

になります。

これは私に理解するのに多くの時間がかかりました。誰かを助け、時間を節約したいと願っています。ありがとうございました

関連する問題