# Postman & GraphQL Playground

{% embed url="<https://youtu.be/27IHNDG4Kaw>" %}
Tools of ScandiPWA
{% endembed %}

If you don’t already have a preference of your own, check out the ScandiPWA tool recommendations for testing, debugging and database management.

Recommended tools:

* [GraphQL Playground](https://github.com/prisma-labs/graphql-playground)
* [Postman](https://www.postman.com/)
* [DBeaver](https://dbeaver.io/) for Linux
* [Sequel Pro](https://www.sequelpro.com/) for Mac

Topics covered:

* [GraphQL Playground features](https://docs.scandipwa.com/how-to-tutorials-intermediate/postman-and-graphql-playground#graphql-playground-features)
* [Postman features](https://docs.scandipwa.com/how-to-tutorials-intermediate/postman-and-graphql-playground#postman-features)
* [Database management tools](https://docs.scandipwa.com/how-to-tutorials-intermediate/postman-and-graphql-playground#database-management-tools)

## GraphQL Playground Features

GraphQL Playground is an IDE for learning and using GraphQL. You can download the latest release for your platform of choice - Mac, Linux or Windows.

**Features**:

* Ability to store schema, tabs and workspaces.
* ‘DOCS’ section lets you preview GraphQL queries, type details and specific fields of a schema.
* The ‘SCHEMA’ tab allows you to preview the GraphQL schema and download it as a file.
  * You can parse through ‘SCHEMA’ using regular expressions and search for ‘DOCS’ using the search field.
* Ability to add multiple URLs
* ‘PRETTIFY’ code feature
* Request history
* Support for HTTP headers and query variables
  * Send requests with HTTP headers by adding them as a JSON object in the ‘HTTP HEADERS’ section.

**Drawbacks**:

* No proper error handling
* If your GraphQL server responds with a non-json error you’ll see:

```javascript
"error": "Unexpected token < in JSON at position 0"
```

* In this case you can ‘Inspect Element’ with the Inspector and you’ll see how the request is sent in the ‘Response’ and ‘Preview’ tab. In this case it’s:

```
502 Bad Gateway
```

## Postman Features

Postman is a user-friendly tool for API testing. If you’re not sure whether or not this tool is for you, just `ctrl + F` your request [here](https://www.postman.com/postman-features/).

Some of the major features are:

* Test writing
  * See the full error logs right away, not only for POST requests, but also for GET requests.
* Executing multiple simultaneous requests
  * Useful for finding bugs that happen radomly, i.e. in a specific period of time.

## Database Management Tools

The team of ScandiPWA recommends [DBeaver](https://dbeaver.io/) for Linux. You can check out the user-guide [here](https://github.com/dbeaver/dbeaver/wiki).

MySQL database management application for Mac - [Sequel Pro](https://www.sequelpro.com/). Read how to get started [here](https://sequelpro.com/docs).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://scandipwa.gitbook.io/docs/how-to-tutorials-intermediate/postman-and-graphql-playground.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
