可以在本地查询我正在运行的apollo graphqlserver而不使用http吗?

可以在本地查询我正在运行的apollo graphqlserver而不使用http吗?,graphql,apollo-server,Graphql,Apollo Server,我正在运行Apollo的Graphql服务器,目标是获取一些数据。但是,我需要本地数据-在同一台服务器上。这是可能的,还是使用http查询Apollo服务器的唯一方法 我知道我不需要使用GraphQl就可以实现这一点,只需访问数据层,但我希望从中受益: 授权书 数据加载器 我们的GraphQLAPI中已经内置了优化 我已经有了一个可行的解决方案,我只需使用节点获取来查询本地主机,但这似乎是相当大的开销。是的,这是可能的 Apollo为您创建和执行模式,但您也可以自己完成。 下面是一个基于ap

我正在运行Apollo的Graphql服务器,目标是获取一些数据。但是,我需要本地数据-在同一台服务器上。这是可能的,还是使用http查询Apollo服务器的唯一方法

我知道我不需要使用GraphQl就可以实现这一点,只需访问数据层,但我希望从中受益:

  • 授权书
  • 数据加载器
  • 我们的GraphQLAPI中已经内置了优化

我已经有了一个可行的解决方案,我只需使用
节点获取
来查询本地主机,但这似乎是相当大的开销。

是的,这是可能的

Apollo为您创建和执行模式,但您也可以自己完成。 下面是一个基于apollo server express包的小示例。我创建模式,然后将其提供给apollo服务器。在服务器启动的下面,我还创建了一个查询字符串,然后解析它并在没有apollo和http请求的情况下执行它

const express=require('express');
const{ApolloServer,gql,makeExecutableSchema}=require('apollo-server-express');
const{parse}=require('graphql/language')
const{execute}=require('graphql')
//使用GraphQL模式语言构建模式
常量typeDefs=gql`
类型查询{
你好:字符串
}
`;
//为架构字段提供解析器函数
常量解析程序={
查询:{
你好:()=>“你好,世界!”,
},
};
const schema=makeExecutableSchema({
typeDefs,
解析器,
})
异步函数startApolloServer(){
const server=new服务器({schema});
等待server.start();
常量app=express();
applyMiddleware({app});
等待新的承诺(resolve=>app.listen({port:4000},resolve));

log(`这是通过apollo服务器执行的,还是“只是”graphql?通过apollo server或graphql是什么意思?apollo server也在执行你的graphql方案。你有apollo server可以访问的东西,但你不能将它们传递进来?我在考虑apollo中的插件?@DauleDK你能用一个示例插件编辑这个问题吗?