graphql_server3 3.2.2 copy "graphql_server3: ^3.2.2" to clipboard
graphql_server3: ^3.2.2 copied to clipboard

A GraphQL server runtime for Dart. Executes queries, mutations and subscriptions against a graphql_schema3 schema, with introspection built in.

example/main.dart

import 'package:graphql_schema3/graphql_schema3.dart';
import 'package:graphql_server3/graphql_server3.dart';

/// Executes a query against a schema built by hand.
Future<void> main() async {
  final user = objectType(
    'User',
    fields: <GraphQLObjectField<dynamic, dynamic>>[
      field('name', graphQLString, resolve: (obj, _) => obj['name']),
      field('age', graphQLInt, resolve: (obj, _) => obj['age']),
    ],
  );

  final schema = graphQLSchema(
    queryType: objectType(
      'Query',
      fields: <GraphQLObjectField<dynamic, dynamic>>[
        field(
          'user',
          user,
          resolve: (_, _) => <String, dynamic>{'name': 'anna', 'age': 30},
        ),
        field(
          'echo',
          graphQLString,
          inputs: <GraphQLFieldInput<String, String>>[
            GraphQLFieldInput<String, String>('text', graphQLString),
          ],
          resolve: (_, args) => args['text'] as String?,
        ),
      ],
    ),
  );

  final server = GraphQL(schema);

  print(await server.parseAndExecute('{ user { name age } }'));
  // {user: {name: anna, age: 30}}

  print(
    await server.parseAndExecute(
      r'query Echo($t: String) { echo(text: $t) }',
      variableValues: <String, dynamic>{'t': 'hello'},
    ),
  );
  // {echo: hello}

  // Introspection is on by default.
  print(await server.parseAndExecute('{ __schema { queryType { name } } }'));
  // {__schema: {queryType: {name: Query}}}
}
0
likes
160
points
148
downloads

Documentation

API reference

Publisher

verified publishercomapps.be

Weekly Downloads

A GraphQL server runtime for Dart. Executes queries, mutations and subscriptions against a graphql_schema3 schema, with introspection built in.

Repository (GitHub)
View/report issues

Topics

#graphql #server #api

License

BSD-3-Clause (license)

Dependencies

collection, graphql_parser3, graphql_schema3, stream_channel

More

Packages that depend on graphql_server3