我想为 GraphQL Playground 定义一些 http 标头,以默认和/或始终启用。基本上,我想补充一点:
"apollographql-client-name": "playground"
"apollographql-client-version": "yada-yada"
Run Code Online (Sandbox Code Playgroud)
能够将来自 Playground 的请求与 Apollo Studio 上的任何其他请求区分开来。最好的方法是什么?
通过 GraphQL Playground 我指的是 Apollo 运行的那个,这里记录的那个:https ://www.apollographql.com/docs/apollo-server/testing/graphql-playground/
我当前的 ApolloServer 配置如下所示:
let apolloServerExpressConfig: ApolloServerExpressConfig = {
schema: schema,
playground: {
settings: {
"request.credentials": "include",
},
},
}
Run Code Online (Sandbox Code Playgroud)
如果我向其添加选项卡以尝试定义标题,如下所示:
let apolloServerExpressConfig: ApolloServerExpressConfig = {
schema: schema,
playground: {
settings: {
"request.credentials": "include",
},
tabs: [{
headers: {
"apollographql-client-name": "playground",
"apollographql-client-version": "yada-yada",
},
}],
},
}
Run Code Online (Sandbox Code Playgroud)
GraphQL playground 在重新加载页面时不再恢复所有带有查询的选项卡,这非常有用。我认为一旦您定义了选项卡,就会删除一些自动选项卡管理。我很高兴为新选项卡创建定义了默认标头,如果这些标头暴露给客户端就可以了。
我的应用程序已经定义了标题,因此,我可以区分应用程序和查询它的任何其他内容,但我想区分我的应用程序、游乐场和其他任何内容(后一组应该是空的)。
我想在我的一个页面中将GraphQL Playground渲染为React 组件,但由于webpack 中缺失而失败。有没有办法在文档中解决这个问题,或者我是否需要使用新的 webpack 配置创建新插件?file-loader
将 Playground 和 Docusaurus 集成到底是个好主意吗?
谢谢你的想法...
我正在使用 Apollo 服务器来实现 GraphQL API,它会自动为我提供一个 GraphQL Playground。根据GraphQL Playground 文档,我应该拥有(或至少能够启用)一个“共享”功能,该功能将创建一个 GraphQL Bin 链接(例如https://graphqlbin.com/OksD),我可以将其发送给同事,以便他们可以查看并运行我的相同查询。
不幸的是,这不能从 Apollo 服务器开箱即用。我如何启用此功能?如果这是不可能的,是否有另一种简单的方法可以让我从 GraphQL Playground 导出查询以供其他人导入?(我看到“复制卷曲”选项,但我没有看到从卷曲导入的简单方法。)
我正在尝试使用 GraphQL 记录我的 API。对于可读性问题,我想在多行中留下评论,但它似乎不适用于常规的 '\n' 换行符
"""
Return:\n true : DB save successful\n false : DB save unsuccessful
"""
Run Code Online (Sandbox Code Playgroud)
这是我试过的
但是它输出完全相同,而不在新行中放置行
Return:\n true : DB save successful\n false : DB save unsuccessful
Run Code Online (Sandbox Code Playgroud)
是否可以在新行中排列文本,例如:
Return:
true : DB save successful
false : DB save unsuccessful
Run Code Online (Sandbox Code Playgroud) 我正在 GraphQL Playground 中测试一些实现,我想在其中发送一个特定的 cookie,以便我可以在我的解析器中获取它。我在操场上使用内置的 Http Headers 窗格:
但是,当我添加名为Cookieor 的标头cookie时,当我尝试在解析器中 console.log 时它不会显示。所有其他自定义 Http 标头都没有问题。
如上面的屏幕截图所示,出现了测试头,但没有出现 cookie 头。我正在使用cookieParser,这可能是cookie标题消失的原因,但我不确定。这是我的 console.log 部分的屏幕截图:
当我尝试 console.log 时req.cookies,我什么也没得到,这是使用 cookieParser 的好处之一。
我的 ApolloServer 实现如下:
const server = new ApolloServer({
typeDefs: schema
resolvers,
dataSources: () => ({
// ...
}),
context: ({req, res}) => ({
models,
session: req.session,
req,
res
}),
// ... and the rest is not important
});
Run Code Online (Sandbox Code Playgroud)
创建“自定义”cookie 标头可以解决问题,例如somecookie: <key>=<value>,但我认为这不是最佳做法,并且宁愿避免这种情况。我希望有人知道为什么我的 cookieheader没有出现,或者我可以做些什么让它出现?
GraphQL我是一名 Android 开发人员,但刚刚开始根据新项目的要求进行操作。我正在尝试在 中查询prisma-lab's graphQL-playground。
我在单行中复制并粘贴了一个很长的查询,但我只想将其格式化JSON。有人知道如何做到这一点吗?或者任何人都知道有关此 prisma-lab 的 graphQL-playground 的更多快捷方式。
复制查询:
{ userInfo(userName:"xyz"){ id subtitle userLastName avatar } }
Run Code Online (Sandbox Code Playgroud)
格式化查询:
{
userInfo(userName: "xyz") {
id
subtitle
userLastName
avatar
}
}
Run Code Online (Sandbox Code Playgroud)
建议是否有人知道如何格式化此查询,以及是否有任何其他可用于 GraphQL-Playground 的键盘快捷键。谢谢。
根据阿波罗文档:
如果您的服务器使用 cookie 进行身份验证,您可以将端点配置为与https://studio.apollographql.com共享这些 cookie 。要进行此设置,您的 cookie 值必须包含
SameSite=None; Secure. 此外,这些 CORS 标头必须存在于服务器对 Studio 的响应中:Run Code Online (Sandbox Code Playgroud)Access-Control-Allow-Origin: https://studio.apollographql.com Access-Control-Allow-Credentials: true
我已经完成了那里提到的所有事情。我使用的是express,所以我使用cors中间件来设置标头:
app.use(
cors({
credentials: true,
origin: "https://studio.apollographql.com",
})
);
Run Code Online (Sandbox Code Playgroud)
但每当我在操场上打开“允许 Cookie”的开关时,状态都会变成红色(即“无法到达服务器”)。我的编辑器和nodemon没有显示错误。关闭“允许 Cookie”开关可以解决问题,但会禁用 Cookie 功能。
我该如何解决这个问题?