Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
August 21, 2022 04:43 pm GMT

GraphQL server with Nodejs and Express

Being able to work with APIs and write queries is critical to any developer today. As more developers and teams opt to use GraphQL when working with APIs.

In this article, we shall learn how to build a GraphQL server with Nodejs and Express and write a query to check its working. The code in this project is on Github.

Some of the advantages of GraphQL are:-

  • Responses are decided by the client rather than the server itself. This returns exactly what the client needs.

  • Facilitates the cut down of your request by allowing you to send specific requests making it to be fast.

  • Each level relates to a specific type where each type describes a bunch of available fields. Allows descriptive error messages prior to executing a query.

How about we begin

Let's start by creating an empty folder.

mkdir graphqlserver

then

cd graphqlserver

Change directory to graphqlserver and initiate the folder by the following npm code

npm init

Create a new file app.js and finally install the following packages express, graphql, and express-graphql

touch app.jsnpm i express graphql express-graphql

The project is now set up and it's time to add our code to app.js file.

require('dotenv').config();const express = require('express');const { graphqlHTTP } = require('express-graphql');const { buildSchema } = require('graphql');// GraphQL schemaconst schema = buildSchema(`  type Query {      message: String  }`);//Root resolverconst root = {  message: () => 'Welcome to GraphQL server with Nodejs and Express',};// Create an express server and a GraphQL endpointconst app = express();const Port = process.env.Port || 8080;app.use(  '/graphql',  graphqlHTTP({    schema: schema,    rootValue: root,    graphiql: true,  }));app.listen(Port, (req, res) => {  console.log(`Graphql Express Server is up on localhost:${Port}/graphql`);});

At first, is to make sure all dependencies needed are imported express, express-graphql, and buildSchema function from graphql. Next is to create an express server with express instance stored in the app variable.

We create a GraphQL schema that is describing the API system. The API system includes data and how a client can access that data. Each time the API is called it is validated against the schema. It's only executed when the action proves valid else an error is returned.

Finally app.listen is called to start the server process on port 8000 as included on the .env file else on port 8080.

The Node server is ready and can be started using the below code

node start

or

node app.js

If you don't need to keep restating your app nodemon will watch for any changes in the file, make sure is installed as a global dependency.

nodemon

Graphql Express Server is up on localhost:8000/graphql

Image description


Original Link: https://dev.to/minemartin/graphql-server-with-nodejs-and-express-869

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To