jjzjj

android - 我如何在 Android 中使用 GraphQl?

我需要一个在android中使用GraphQl的简单示例。如何在android中使用GraphQl(教程)。 最佳答案 为了使用GraphQL(通常),您需要两件事:1。GraphQL服务器有几种方法可以解决这个问题。当然,你可以直接去implementoneyourself使用您喜欢的任何服务器端语言。其他(更快的)方法是利用现有工具并使用graphql-up等服务生成GraphQLAPI。或create-graphql-server甚至像Graphcool这样的服务(免责声明:我为他们工作)。2。一个GraphQL客户端库虽然这

android - Apollo GraphQL for Android 中的重复对象类型

在我的项目GraphQL架构对象AllowedPeriod(这只是两个字段startsAt/endsAt)可以到达图形的不同对象。生成查询时,apollo为每个.AllowedPeriod创建一个新类型例如,在GetDevicesQuery,AllowedPeriod可以在里面devices,actions或group,因此生成以下类。GetDevicesQuery.AllowedPeriodGetDevicesQuery.AllowedPeriod1GetDevicesQuery.AllowedPeriod2有没有办法告诉apollo它们是相同的类型并且它不应该为它们中的每一个都生成

android - 如何在 Android 上使用 GraphQL 和 Retrofit?

我是GraphQL的新手,但我已经使用Retrofit一段时间了,它易于使用且速度很快。GraphQL在传递数据方面与restapi有很大不同。确实没有太多关于在Android上使用GraphQL的教程,我只能找到这个视频(https://www.youtube.com/watch?v=P0uJHI7GjIc&t=1s),但里面没有真正的代码。在我当前的改造调用代码中,我设置了一个端点:finalRestAdapterrestAdapter=newRestAdapter.Builder().setEndpoint(endPoint).build();Tservice=restAdapt

无服务器GraphQL订阅

我最近开始使用GraphQL,并能够成功将其设置在AWSLambda上,从而为我提供了“无服务器”体系结构。但是,我想利用GraphQL订阅以获得更多的实时功能。我知道AWSlambda不允许Websockets,因为只要函数运行或达到超时限制,连接仅持续。但是,是否有某种方法可以设置GraphQL后端,以便它可以利用订阅并将其保留在AWS服务中,并像“无服务器”应用程序一样扩展它。诸如将AWSlambda用于GraphQl查询和突变之类的东西,然后是GraphQL订阅的不同AWS服务。看答案AWSAppsync本周(11月29日)宣布,它支持GraphQL订阅。

caching - 何时在 GraphQL 服务器设置中使用 Redis 以及何时使用 DataLoader

我已经在GraphQL服务器上工作了一段时间,虽然我了解大部分方面,但我似乎无法掌握缓存。当谈到缓存时,我看到DataLoader和Redis都被提及,但我不清楚何时应该使用什么以及如何使用它们。我认为DataLoader更多的是在字段级别使用来应对n+1问题?我猜Redis是不是处于更高的水平?如果有人能阐明这一点,我将不胜感激。谢谢。 最佳答案 DataLoader主要是一种对某些数据源进行批处理请求的方法。但是,它可以根据每个请求选择性地使用缓存。这意味着,在执行相同的GraphQL查询时,您只会获取特定实体一次。例如,我们可

node.js - 用 Jest 测试 GraphQL 解析器

我想使用Jest为GraphQL解析器编写测试,但真的不知道从哪里开始。解析器是使用NodeJS上的Mongoose写入MongoDB数据库的简单CRUD函数。类型:typeArticle{_id:ID!title:Stringauthors:[User]}查询extendtypeQuery{articles:[Article]article(_id:ID!):Article}解析器(只读)Query:{articles:()=>newPromise((resolve,reject)=>{Article.find({},(err,articles)=>{if(err)reject(er

node.js - 如何在没有 _id 引用的情况下获取 GraphqQL 列表中模型的填充值?

我有一个用户模型,其中包含一些字段并引用了“技能”模型。模型如下图所示1.Users.js(用户模型)constmongoose=require('mongoose');constSchema=mongoose.Schema;constUsersSchema=newScheam({name:{type:String},email:{type:String},address:{type:String},Skills:[{type:mongoose.Schema.Types.ObjectId,ref:'Skills'}],})module.exports=mongoose.model('U

mongodb - 将日期转换为时间戳 mongodb

我对MongoDB中的日期有疑问。当我创建帖子时,我使用Date.now()获取日期。当我检查数据库时,它存储为:ISODate("2018-12-08T09:40:38.623+0000")。如果我执行普通的GraphQL查询,我得到的结果是:"created_at":"1544262038623"。在我的架构中,查询定义为created_at:String。问题1:如何进行查询以显示日期而不是纪元以来的时间戳?问题2:我想获取时间戳以进行一些聚合计算。但它总是采用日期格式,无论我做什么,我都无法获得时间戳。我试过:$toDecimal、newDate("$created_at")和

mongodb - 带有空id的graphql查询返回对象

Graphql返回带有空ID的对象。与mongodb。我觉得很奇怪。如果我删除MailTypeid上的newGraphQLNonNull(),它适用于id:null,其他字段工作正常。constMailType=newGraphQLObjectType({name:'Mail',fields:()=>({id:{type:newGraphQLNonNull(GraphQLID),},...})constQuery={mails:{type:newGraphQLList(MailType),args:{senderId:{type:GraphQLID},isOffline:{type:G

javascript - javascript中的嵌套MongoDB查询

这是一个GraphQL解析器。问题在于使用async/await的promise处理。我尝试过实现promise处理,但我无法以正确的方式设置它,我在promise处理方面没有太多经验,一些学习资料会有很大帮助。我的理解是脚本将在调用await的地方停止,并在await调用完成后继续。但它绕过了等待。返回值后等待调用完成allDocs:async(args,context)=>context().then(asyncclient=>{letdb=client.db(dbName)constid=args.identifier.trim()letnameArr=[]returnawait