# GraphQL client CLI This is still a WIP, the main use for it now is to download the `schema.json` from a GraphQL endpoint, which you can also do with [the Apollo CLI](https://github.com/apollographql/apollo-tooling#apollo-clientdownload-schema-output). ## Install ```bash cargo install graphql_client_cli --force ``` ## introspect schema ``` Get the schema from a live GraphQL API. The schema is printed to stdout. USAGE: graphql-client introspect-schema [FLAGS] [OPTIONS] FLAGS: -h, --help Prints help information -V, --version Prints version information --no-ssl Set this option to disable ssl certificate verification. Default value is false. ssl verification is turned on by default. OPTIONS: --authorization Set the contents of the Authorization header. --header ... Specify custom headers. --header 'X-Name: Value' --output Where to write the JSON for the introspected schema. ARGS: The URL of a GraphQL endpoint to introspect. ``` ## generate client code ``` USAGE: graphql-client generate [FLAGS] [OPTIONS] --schema-path FLAGS: -h, --help Prints help information --no-formatting If you don't want to execute rustfmt to generated code, set this option. Default value is false. -V, --version Prints version information OPTIONS: -I, --variables-derives Additional derives that will be added to the generated structs and enums for the variables. --variables-derives='Serialize,PartialEq' -O, --response-derives Additional derives that will be added to the generated structs and enums for the response. --response-derives='Serialize,PartialEq' -d, --deprecation-strategy You can choose deprecation strategy from allow, deny, or warn. Default value is warn. -m, --module-visibility You can choose module and target struct visibility from pub and private. Default value is pub. -o, --output-directory The directory in which the code will be generated -s, --schema-path Path to GraphQL schema file (.json or .graphql). -o, --selected-operation Name of target query. If you don't set this parameter, cli generate all queries in query file. --fragments-other-variant Generate an Unknown variant for enums generated by fragments. ARGS: Path to the GraphQL query file. ``` If you want to use formatting feature, you should install like this. ```bash cargo install graphql_client_cli ```