Skip to content

gnuwilliam/gatsby-source-rest-api

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gatsby-source-rest-api

A Gatsby source plugin for sourcing data into your Gatsby appliction from any REST Api

The plugin creates RestApi nodes from REST API sources. You can source multiple REST APIs at once using this plugin to get data from multiple endpoints (from a single or multiple domains).

This plugin is still under development and may change dramatically until version 1.0.0 is released (stable). Use at your own risk.

Install

npm install --save gatsby-source-rest-api

How to use

// In your gatsby-config.js
module.exports = {
  plugins: [
    //This plugin exists only once but can consume an array of endpoints
    {
      resolve: 'gatsby-source-rest-api',
      options: {
        endpoints: [
          ...
        ],
      },
    },
  ],
}

Options

Options accepts only an array of endpoints. You must pass at least one endpoint. Test these examples out if you wish, they will provide demo results

endpoints: [
  'https://jsonplaceholder.typicode.com/posts',
  'https://jsonplaceholder.typicode.com/users',
]

How to query

You can query file nodes like the following:

{
  allRestApiYourEndpointUri {
    edges {
      node {
        ...
      }
    }
  }
}

There is no set results list as this is wholely dependent on the API you're querying. Here's an example using the data sourced from https://jsonplaceholder.typicode.com/posts

{
  allRestApiPosts {
    edges {
      node {
        userId
        title
        body
      }
    }
  }
}

Example of filtering by the title. This is dependent on the API used

{
  allRestApiPosts(filter: { title: { eq: "qui est esse" } }) {
    edges {
      node {
        title
        body
      }
    }
  }
}

Todo

This plugin is still a work in development and as such requires some additional features. Suggestions are welcomed.

  • Implement a way to pass keys to APIs for situations where APIs require auth

About

Allows data sourced from one or more rest api to be imported into a GatsbyJS project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%