首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在flutter中设置演示客户端以实现图-ql集成

如何在flutter中设置演示客户端以实现图-ql集成
EN

Stack Overflow用户
提问于 2019-04-13 01:03:06
回答 1查看 282关注 0票数 1

我对graph-ql了解不多,需要一个可以运行的演示设置。我被卡住了,不知道如何设置客户端,谁能解释一下如何在这个给定的代码中设置客户端:

https://github.com/zino-app/graphql-flutter/blob/master/example/lib/main.dart

代码语言:javascript
复制
 Client(
        endPoint: 'https://api.github.com/graphql',
        cache: InMemoryCache(),
        apiToken: '<YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>',
      ),

另外,什么是ReadRepositories?

代码语言:javascript
复制
String readRepositories = """
  query ReadRepositories {
    viewer {
      repositories(last: 50) {
        nodes {
          id
          name
          viewerHasStarred
        }
      }
    }
  }
"""
    .replaceAll('\n', ' ');
EN

回答 1

Stack Overflow用户

发布于 2019-07-22 15:40:03

代码语言:javascript
复制
static HttpLink httpLink = HttpLink(
  uri: 'https://api.github.com/graphql',
);

final AuthLink authLink = AuthLink(
  getToken: () async => 'Bearer <YOUR_PERSONAL_ACCESS_TOKEN>',
);

final Link link = authLink.concat(httpLink as Link);

ValueNotifier<GraphQLClient> client = ValueNotifier(
  GraphQLClient(
    cache: InMemoryCache(),
    link: link,
  ),
);

用于GraphQlProvider的Call query用户查询方法。

代码语言:javascript
复制
Query(
  options: QueryOptions(document: readRepositories, pollInterval: 1),
  builder: (QueryResult result, {VoidCallback refetch}) {
    if (result.loading) {
      return Center(child: CircularProgressIndicator());
    }
    if (result.errors != null) {
      return Text(result.errors.toString());
    }
    if (result.data == null) {
      return Center(child: Text("No Data Found !"));
    }
    // After getting response, return your result 
      return YourWidget();
    },
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55656533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档