1 安装express、graphql以及express-graphql
在项目的目录下运行一下命令。
npm init -y
npm install express graphql express-graphql -S
2 新建helloworld.js
代码如下:
const express = require('express');
const {buildSchema} = require('graphql');
const grapqlHTTP = require('express-graphql').graphqlHTTP;
// 定义schema,查询和类型
const schema = buildSchema(`
type Query {
hello: String
}
`)
// 定义查询对应的处理器
const root ={
hello:()=>{
return 'hello world';
}
}
const app = express();
app.use('/graphql', grapqlHTTP({
schema: schema,
rootValue: root,
graphiql: true
}))
app.listen(3000);
启动程序
node helloworld.js
访问服务
地址如下:http://localhost:3000/graphql
点击Docs后,发现里面有只有一个query接口
测试接口,返回结果如下
3 修改代码为多个参数
const express = require('express');
const {buildSchema} = require('graphql');
const grapqlHTTP = require('express-graphql').graphqlHTTP;
// 定义schema,查询和类型
const schema = buildSchema(`
type Account {
name: String
age: Int
sex: String
department: String
}
type Query {
hello: String
accountName: String
age: Int
account: Account
}
`)
// 定义查询对应的处理器
const root ={
hello: () => {
return 'hello world';
},
accountName: () => {
return '张三丰';
},
age:()=>{
return 18;
},
account: ()=>{
return {
name: '李四光',
age: 18,
sex: '男',
department: '科学院'
}
}
}
const app = express();
app.use('/graphql', grapqlHTTP({
schema: schema,
rootValue: root,
graphiql: true
}))
app.listen(3000);
启动后发现端口参数如下
结果如下: