我的一个EC2实例上有一个graphql服务器正在运行。我也有AWS appsync运行,但目前它只与几个Lambda集成。
我想将我的Appsync连接到graphql服务器,这样Appsync将作为特定查询/变化的代理。
因此,从客户端来看,它将如下所示:
{
user {
id
}
}
用户
查询,它被配置为在graphql服务器上代理查询,没有任何更改{
user {
id
}
}
并返回一个结果:
"data": {
"user": {
"id": "123456789"
}
}
我是否能够以给定场景可能的方式配置Appsync?它是使用Appsync的正确模式吗?
我能够通过AppSync代理我的请求,并通过以下解析器配置到达我的Graphql服务器:
{
"version": "2018-05-29",
"method": "POST",
"resourcePath": "/graphql",
"params":{
"body": {
"query": "$util.escapeJavaScript($ctx.info.getSelectionSetGraphQL())"
}
}
}
但这仍然没有达到预期效果-它与文档中的描述不同,我至少看到两个问题:
$ctx。信息。getSelectionSetGraphQL()
去掉查询名称和参数部分,只给我嵌套的负载,因此此查询:{
user(id: "1") {
picture {
url
}
}
一旦我调用$ctx,就会变成下面的一个。信息。getSelectionSetGraphQL()
:
{
picture {
url
}
}
但我想使用整个查询,如文档中所述:
"selectionSetGraphQL": "{\n getPost(id: $postId) {\n postId\n title\n secondTitle: title\n content\n author(id: $authorId) {\n authorId\n name\n }\n secondAuthor(id: \"789\") {\n authorId\n }\n ... on Post {\n inlineFrag: comments {\n id\n }\n }\n ... postFrag\n }\n}"
{
user(id: "1") {
picture {
url
}
}
我通过appsync调用graphql后端,在我的graphql日志中,我看到以下响应记录:
{
"data: {
"user": {
"picture": {
"url": "example.com/link/to/a/picture"
}
}
}
}
但是appsync会返回给定的响应:
{
"data: {
"user": {
"picture": null
}
}
}
我已经明白,appsync希望我为用户
和图片
查询定义解析器。Appsync想先调用用户
,然后调用图片
查询,但我想做的只是通过Appsync代理响应,而不调用除用户
之外的任何其他查询。所有内容都在我的graphql后端进行评估,应该放在响应主体中,但appsync希望再次评估所有内容。
1号有什么解决办法吗。和2。?
在编写本文时,您可以使用$ctx。info
object从解析器中获取查询选择集,并通过HTTP解析器将相关数据发送到下游服务。转到此处,查找$ctx对象上的信息字段。要实现这一点,您需要在AppSync API中镜像下游API的模式。
谢谢你提起这件事。团队知道这些用例,这有助于确定优先级。
我在Java客户端有以下代码,它调用基于Spring的REST服务,我得到一个HTTP 400错误。但它与POST man Client完美配合 Java客户端: 服务器端REST服务代码为 现在,当客户端发送请求时,它会给我http 400错误,这可能是因为在客户端,即时消息发送JSON字符串,而在服务器端,它是一个主体,但这在POST MAN上有效 谁能建议我如何通过Java向基于spring
XMLHttpRequest 对象用于和服务器交换数据。 向服务器发送请求 如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:xmlhttp.open("GET","ajax_info.txt",true); xmlhttp.send(); 方法 描述 open(method,url,async) 规定请求的类型、URL 以及是否异步处理
我希望使用Apache HTTP服务器作为OpenShift或Kubernetes中托管的一组微服务的反向代理。我想在Kubernetes路线上使用TLS passthrough。也就是说,需要在Apache(出站)创建TLS连接,并在POD终止。为了实现这一点,OpenShift需要在不解密有效负载的情况下识别目标主机,以便将每个请求转发给正确的微服务。TLS中的服务器名称指示(SNI)将具有主
问题内容: 我正在尝试通过一个请求将数据从一个node.js服务器发送到另一个node.js服务器。我在“客户端” node.js中执行的操作如下: 该块或多或少是从node.js网站获取的,因此应该正确。我唯一看不到的是如何在变量中包括用户名和密码以进行实际登录。这是我处理服务器node.js中的数据的方式(我使用express): 如何将这些和字段添加到变量中以使其登录? 谢谢 问题答案: 发
我们当前的项目需求是将一些请求路由到第三方外部api服务器。为此,我们使用的是基于spring祖尔的路由器服务。 现在的要求是,对于某些endpoint,到外部api服务器的请求已经通过不属于我们的外部代理服务器路由, 如何通过卷曲完成此操作: 通过给定的代理重定向请求。如何通过spring-祖尔服务器做到这一点? 我有一条线索?https://github.com/spring-cloud/sp