Files
countries/README.md
2019-02-13 12:42:18 -08:00

56 lines
1.4 KiB
Markdown

# Countries GraphQL API
[![Build Status](https://travis-ci.com/trevorblades/countries.svg?branch=master)](https://travis-ci.com/trevorblades/countries)
[![Donate](https://img.shields.io/beerpay/trevorblades/countries.svg)](https://beerpay.io/trevorblades/countries)
A public GraphQL API for information about countries, continents, and languages. This project uses [Countries List](https://annexare.github.io/Countries/) as a data source, so the schema follows the shape of that data, with a few exceptions:
1. The codes used to key the objects in the original data are available as a `code` property on each item returned from the API.
2. The `continent` and `languages` properties are now objects and arrays of objects, respectively.
## Writing queries
```graphql
{
country(code: "BR") {
name
native
emoji
currency
languages {
code
name
}
}
}
```
The above GraphQL query will produce the following JSON response:
```json
{
"data": {
"country": {
"name": "Brazil",
"native": "Brasil",
"emoji": "🇧🇷",
"currency": "BRL",
"languages": [
{
"code": "pt",
"name": "Portuguese"
}
]
}
}
}
```
Check out [the playground](https://countries.trevorblades.com) to explore the schema and test out some queries.
## Examples
- [React](./examples/react)
- [React Native](https://github.com/muhzi4u/country-directory-app)