var express = require('express'); var { graphqlHTTP } = require('express-graphql'); var { buildSchema } = require('graphql'); // Construct a schema, using GraphQL schema language var schema = buildSchema(` type apiList { api: String } type Query { apiList: [apiList] } `); // The root provides a resolver function for each API endpoint var data = { "apiList": [{ "api": "hello" }], "resultCode": "20000", "resultDescription": "Success" }; const extensions = ({ document, variables, operationName, result, context, }) => { return { resultCode: "20000", resultDescription: "success" }; }; var app = express(); // app.use('/graphql', graphqlHTTP({ // schema: schema, // // rootValue: data, // graphiql: true, // extensions // })); app.use('/graphql', (req, res) => { console.log(req.body) res.status(200).send({ "data": { "apiList": [{ "api": { "_id": "635a05d5bc7f8b9de2595311", "method": "GET", "uri": "/api/v1/resource", "description": "URI Description", "exRequest": { "header": [{ "paramName": "test1", "isRequire": "1", "dataType": "String", "description": "test1" }, { "paramName": "test2", "isRequire": "0", "dataType": "Object", "description": "test2.1", "paramObj": [{ "paramName": "test2.1", "isRequire": "0", "dataType": "Object", "description": "test2.1", "paramObjParamObj": [{ "paramName": "test2.1.1", "isRequire": "0", "dataType": "Number", "description": "test2.1.1" } ] } ] } ], "exHeader": [{ "text": "Request Header Example" } ], "body": [{ "paramName": "test1", "isRequire": "1", "dataType": "String", "description": "test1" }, { "paramName": "test2", "isRequire": "0", "dataType": "String", "description": "test2" } ], "exBody": [{ "text": "Request Body Example" } ] }, "exResponse": { "header": [{ "paramName": "test1", "isRequire": "1", "dataType": "String", "description": "test1" } ], "exHeader": [{ "text": "Response Header Example (Success)" } ], "exHeaderErr": [{ "text": "Response Header Example (Error)" } ], "body": [{ "paramName": "test1", "isRequire": "0", "dataType": "String", "description": "test1" }, { "paramName": "test2", "isRequire": "1", "dataType": "String", "description": "test2" }, { "paramName": "test3", "isRequire": "1", "dataType": "Object", "description": "test3", "paramObj": [{ "paramName": "test3.1", "isRequire": "1", "dataType": "Number", "description": "test3.1" }, { "paramName": "test3.2", "isRequire": "0", "dataType": "Integer", "description": "test3.2" } ] } ], "exBody": [{ "text": "Response Body Example (Success)" } ], "exBodyNoData": [{ "text": "Response Body Example (Success no data)" } ], "exBodyErr": [{ "text": "Response Body Example (Error)" } ] }, "customParams": [{ "customKey": "Custom Parameter key", "customValue": "Custom Parameter value" }, { "customKey": "Custom Parameter key 2", "customValue": "Custom Parameter value 2" } ] }, "resource": { "_id": "635a05d5bc7f8b51b3595310", "resourceName": "Resource Name", "resourceOwner": "supps305", "systemName": "System Name", "status": "Approved" }, "microservicesDomain": { "_id": "635a05d5bc7f8bf46b59530d", "microservicesDomainName": "Microservices Domain", "description": "Microservices Domain Description" } } ] }, "resultCode": "40101", "resultDescription": "Success" }) }) app.listen(4000); console.log('Running a GraphQL API server at http://localhost:4000/graphql');