Setting up Graphql Server

This tutorial is based on https://www.apollographql.com/docs/apollo-server/getting-started/


 Install node and npm. If you don't have them installed do the following 1 and 2:

    1. Install homebrew from https://brew.sh/

    2. Install node and npm using homebrew

Create a new folder named graphql-server-example

cd into it.

setup node project using the command: npm init --yes

This creates a package.json file.

Install apollo-server and graphql using: npm install apollo-server graphql

Create an empty index.js file with command touch index.js

Add the following content to the file:

const { ApolloServer, gql } = require('apollo-server');

// A schema is a collection of type definitions (hence "typeDefs")
// that together define the "shape" of queries that are executed against
// your data.
const typeDefs = gql`
# Comments in GraphQL strings (such as this one) start with the hash (#) symbol.

# This "Book" type defines the queryable fields for every book in our data source.
type Book {
title: String
author: String
}

# The "Query" type is special: it lists all of the available queries that
# clients can execute, along with the return type for each. In this
# case, the "books" query returns an array of zero or more Books (defined above).
type Query {
books: [Book]
}
`;

const books = [
{
title: 'The Awakening',
author: 'Kate Chopin',
},
{
title: 'City of Glass',
author: 'Paul Auster',
},
];
// Resolvers define the technique for fetching the types defined in the
// schema. This resolver retrieves books from the "books" array above.
const resolvers = {
Query: {
books: () => books,
},
};
// The ApolloServer constructor requires two parameters: your schema
// definition and your set of resolvers.
const server = new ApolloServer({ typeDefs, resolvers });

// The `listen` method launches a web server.
server.listen().then(({ url }) => {
console.log(`🚀 Server ready at ${url}`);
});



Now run the server with the command: node index.js

Now the server should be ready. Open the given URL in a browser. 

You can go to https://github.com/sulavtimsina/BasicWorkingGraphqlServer to view the code and README.


Comments

Popular posts from this blog

Enabling Internet in Android Emulator

View Binding in Activity and RecyclerView

Capturing Screen of Android Device using ADB