我在AWS Lambda上写一个图形服务器组件(不使用图形服务器)。在客户端,我使用阿波罗客户端。我设置的λ函数的响应
const response = {
statusCode: 200,
headers: {
"Access-Control-Allow-Origin": "*" // Required for CORS support to work
},
body: JSON.stringify({
result: 'mock data',
input: event,
}),
};
callback(null, response);
在使用ApolloClient的客户端上,我得到以下错误
对起飞前请求的响应没有通过权限改造检查:请求的资源上没有“访问控制允许起源”标头。因此,不允许访问起源http://localhost:8080。
然而,当我使用axios之类的东西执行相同的请求时,它就可以正常工作了。此外,当我只是在像邮递员这样的地方执行请求时,我看到响应上启用了“访问-控制-允许-起源”设置。这是阿波罗客户端的已知问题吗?我如何解决这个问题?
我们正在做的第一个错误是从“apollo boost”导入apollo客户端。实际上,我们必须从“apollo客户端”导入apollo客户端。
import ApolloClient from 'apollo-client';
因为,来自apollo的ApolloClient只支持较小的配置选项子集。阿波罗客户端的ApolloClient为您提供了所有的配置选项。
然后,我们可以只向Apollo客户端实例提供链接和缓存
import { InMemoryCache } from "apollo-cache-inmemory";
import { createHttpLink } from 'apollo-link-http';
const client = new ApolloClient({
link: new createHttpLink(
{
uri: "Your QraphQL Link"
}
),
cache: new InMemoryCache(),
});
我假设您正在使用AWS API网关。
一个问题是:您是否为网关启用了CORS?看看如何
我相信这应该可以解决您的问题,如果您也发送cookie,您也可以设置访问-控制-允许-凭据:true
标头。'
要解决Apollo的CORS问题,您必须将no CORS
选项传递给底层的fetch
。
js prettyprint-override">import ApolloClient from "apollo-boost";
const client = new ApolloClient({
uri: "your client uri goes here",
fetchOptions: {
mode: 'no-cors',
},
});
这不是一个特定的Apollo问题,而是一个要在fetch
端处理的配置,有关更多信息,请参阅此:https://developers.google.com/web/ilt/pwa/working-with-the-fetch-api#cross-原产地申请
我想知道为什么它和Axios一起工作,我希望你在某个地方设置了no-cors
模式。
Apollo(阿波罗)是一款可靠的分布式配置管理中心,诞生于携程框架研发部,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 一、背景介绍 服务端基于 Spring Boot 和 Spring Cloud 开发,打包后可以直接运行,不需要额外安装 Tomcat 等应用容器。 Java 客户端不依赖任何框架,能
我是新的Android Studio,想写一个小的示例应用程序与GraphQL和阿波罗客户端。 我已经成功地设置了我的构建环境和自动代码生成。下面是文件结构的屏幕截图,构建/生成/apollo/AllPostsQuery是基于自动生成的类: 我现在唯一的问题是我不知道如何将类导入我的
我有一个wsdl: 我想提交信息以获得回应。我创建了client.php如下: 但它在浏览器中显示错误: SoapFault对象([消息:受保护]= 我错在哪里?对此,可能的解决方案是什么? 编辑: 我已经创建了一个php文件:client。php 但它产生了这个错误: 调用错误:响应不是文本/xml类型:应用程序/wsdl xmlHTTP/1.1 200确定日期:星期二,9月17日2013 15
我正试图通过hbc-twitter4j-v3获得推文。示例代码为:https://github.com/twitter/hbc/blob/master/hbc-example/src/main/java/com/twitter/hbc/example/Twitter4jSampleStreamExample.java为了在代理上启用身份验证,我还设置了主机、端口和身份验证的系统属性。但它显示出以下
我使用Wildfly Swarm generator创建了一个演示应用程序,我想在其中添加MicroProfile Rest客户端。 我只是添加了依赖项: 并调用RestClient实例化代码: 即使我不添加上面的行,只添加依赖项,我的应用程序也会出现依赖项错误。如果执行 我想知道我是不是忘记了一些依赖?或者我的代码有错误。 我的代码可以在这个存储库中找到。 我知道它不会成功,因为用户模型之间存在
我有以下奥赛罗(reversi)游戏的阿尔法-贝塔极小值的实现。不知怎的,这永远不会返回正确的行动。它似乎返回了我在函数(0,0)中设置的默认操作和第二个值-32768,这意味着它在MAX子例程中被删减了。关于我可以改进什么以及如何解决这个问题,有什么建议吗? 注意:我已经确定了大部分正确返回的继任者。目前的最大深度是8。电脑玩家的pn(玩家数量)是1,人类玩家的是0。第一阶段,0,是MINIMA