How to import Magento GraphQL schema to Postman

GraphQL is a query language that allows you to get what you want from the backend, so basically, you need to describe the fields you wish to, write a query, and you are good to go. I have been working a lot with Magento GraphQL API, and I have used the Chrome extension to send requests. The number of queries I have saved has been increasing daily, and I have started looking for something that allows me to organize all my queries and mutations.

Organize things

Then I remembered the Postman app, which has many beautiful features, and one tiny of them is that you can create your API collection and group all requests you want in folders.

How to export Magento GraphQL schema

The first question I asked myself was how can I export Magento GraphQL schema to the file. After some research, I found a perfect and super easy command-line tool.

The Rover CLI

The Rover CLI created by Apollo allowed me to export Magento Schema. Installation is super easy and took a few seconds (I installed it on Mac, it should be easy on Linux as well).

Use this command to install the Rover CLI:

$ curl -sSL https://rover.apollo.dev/nix/latest | sh

Then you need to restart a terminal or use this command to configure the rover CLI with the current shell:

$ exec /bin/zsh -l

Note: this command can be different for your terminal. Please follow the instructions visible in the terminal after the Rover CLI installation.

Export Magento schema to the file

To export GraphQL Magento schema to the file, you can use this command:

$ rover graph introspect <your_magento_graphql_endpoint>  > <file_name> 

Assuming your Magento is available on https://yoursupermagentostore.com, you want to export schema to magento.graphql file, the command you need to use looks like this:

$ rover graph introspect https://yoursupermagentostore.com > magento.graphql

Import schema to the Postman

Once you export the schema to the file, you can import it into Postman. Open your Postman App, and click the import button:

import

Click “Upload Files”:

Upload files

Select the file that you previously exported using the Rover CLI.

You can optionally enable the option to import deprecated fields. Next, just click Import, and your schema should be imported.

Importing APi in Postman

You should see queries and mutations imported:

Postman collection

let’s take a look at one of query: route:

I marked some areas in the screenshots with the red square.

  1. Here you have a URL for the request. It is bound to a variable. In next step I will show you where you can add this variable
  2. This is a query body
  3. In this area, you can add/modify query variables

How to set variables in Postman

You can see variables in two ways:

  1. By filling variable in Collection’s settings
  2. By creating environment

This time, let’s use the first option:

If you set up a URL to Magento correctly, a request should be sent to Magento:

postman magento request sent

Bonus: how to disable GraphQL schema introspecting in Magento

To be honest GraphQL API intersection enabled by default has danger in terms of security because it’s possible to show a GraphQL schema of any Magento shop and use it for shameful acts such as attacks on the store, data theft, etc.

Fortunately, there is an easy way to disable introspection by configuration in Magento.

To do so, please add this entry to your app/etc/env.php file:

'graphql' => [
    'disable_introspection' => true
]

Summary

In this short article, I showed you how to export Magento GraphQL schema and import it to Postman. On the other hand, remember that it is recommended to disable API introspection in Magento for any store on production.

Share the Post:

You might also like

A career in technology: How to develop your skills

Are you a programmer and would like to grow? The Internet is full of materials on how to do this. Despite this, don’t run away – I have something that will interest you. Did you know that Adam Malysz, the legendary Polish ski jumper, was a roofer before he became a flying champion? I dare not compare myself with Mr. Adam, while there are two things we have in common.

I was also a roofer and also managed to re-brand myself. Maybe not in such a spectacular way, but still. In this article, I’ll share my personal experience on my journey from roofer to programmer to tech lead and give you tips you can apply to grow and advance and maybe even dramatically change your career.

Read More
AHA! Let's bring back the simplicity of the Frontend

AHA! Let’s bring back the simplicity of Frontend

Have you wondered why, in this day and age, when we have access to the latest technologies and solutions, IT projects still fail? Don’t you think that we complicate our lives and work in many cases instead of simplifying it? Sometimes less is more, especially in the world of frontend! Read on to learn what an AHA stack is and how to do frontend more simply.

Read More