graphql-client
graphql-client copied to clipboard
Typed, correct GraphQL requests and responses in Rust
My graphql scheme contains enums with capital letters values and graphql-client cli generates such code: ```rust #[derive(Eq, PartialEq)] pub enum PagesSortType { #[doc = ""] ID_ASC, #[doc = ""] ID_DESC,...
We don't use the nice syn features about reporting errors. The code we generate cannot be mapped back to a precise rust code span, since it depends on the GraphQL...
PR #181 added support for type refining fragments and was released in version 0.6.0. The existing examples, however, were not augmented to demonstrate how to work with such a fragment....
Hi, First of all, awesome library - thankyou!! I know this was opened on #89. The extensions field IS part of the standard (albeit as an optional field), see `https://github.com/graphql/graphql-spec/blob/main/spec/Section%207%20--%20Response.md`...
I have following request: ```graphql query ListRuns($detailed: Boolean!) { submissions { id, problem @include(if: $detailed), score @include(if: $detailed), status @include(if: $detailed) { kind, code }, toolchainName @include(if: $detailed) } }...
I'm working with an API that uses the GraphQL-standard `errors` field for critical failures and its own `UserError` type for validation errors. Every operation in this API can respond with...
I have a type such as: ``` type A { field_public: Int } ``` Later on in the same file, I write: ``` extend type A { field_private: Int }...
I'm using Github v4 API to query some repo state and have some fragments like this: ```graphql fragment PullRequestView on PullRequest { # ... } fragment IssueView on Issue {...
The normalization feature is a burden to maintain, we should always normalize field names to snake case and type names to camel case to respect rust conventions.
With current APIs it is possible to have mismatch between the struct, `Variables` and `ResponseData` . Example from the README.md: ```rust let request_body = UnionQuery::build_query(variables); let client = reqwest::Client::new(); let...