我正在使用 graphql-express 创建一个端点,我可以在其中执行 graphql 查询。虽然我将 Sequelize 与 SQL 数据库一起使用,但直接从 graphql 之外的服务器使用它感觉不对resolve
功能。如何从定义它的同一服务器查询我的 graphql API?
这就是我设置 graphql 端点的方式:
const express = require('express');
const router = express.Router();
const graphqlHTTP = require('express-graphql');
const gqlOptions = {
schema: require('./schema')
};
router.use('/', graphqlHTTP(gqlOptions));
modules.exports = router;
基本上我想要的是能够做这样的事情:
query(`
{
user(id: ${id}) {
name
}
}
`)
我将如何创建这个query
功能?
GraphQL.js https://graphql.org/graphql-js/graphql/#graphql本身不需要http服务器来运行。 express-graphql 只是将查询解析器安装到 http 端点的帮助程序。
您可以将架构和查询传递给graphql
,它将返回一个 Promise 来解决对数据的查询。
graphql({schema, requestString}).then(result => {
console.log(result);
});
So:
const {graphql} = require('graphql');
const schema = require('./schema');
function query (requestString) {
return graphql({schema, requestString});
}
query(`
{
user(id: ${id}) {
name
}
}
`).then(data => {
console.log(data);
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)