API Mashup Combining APIs using GraphQL Schema Stitching
By Rouven Wessling
Slide 2
Hi, I’m Rouven
Developer Evangelist, lover of APIs and cake @RouvenWessling
Slide 3
Slide 4
Don’t let a CMS get in the way of shipping software. Contentful provides a content infrastructure that enables teams to power content in any digital product.
Slide 5
5
Let’s talk about APIs
Slide 6
I like to call APIs “Lego for Developers”
Image by Arto Alanenpää CC-BY-SA 4.0 https://commons.wikimedia.org/wiki/File:Lego_dublo_arto_alanenpaa_5.JPG
Slide 7
Developers ❤ APIs @RouvenWessling
Slide 8
GraphQL A short introduction
@RouvenWessling
Slide 9
GraphQL Advantages • • • • • •
Strongly typed schema Introspectable Get just the data you want Get all the data you want Frontend-driven data selection Composable
@RouvenWessling
That’s a lot of Legos
Image by Arto Alanenpää CC-BY-SA 4.0 https://commons.wikimedia.org/wiki/File:Lego_dublo_arto_alanenpaa_5.JPG
Slide 31
You need to know… •
…which API holds which data
•
…how to authenticate against each API
•
…which fields indicate a reference to another API
@RouvenWessling
Slide 32
A herculean task
Slide 33
What if we could have everything in one API?
Slide 34
What if APIs aren’t just legos?
Slide 35
What if APIs are like music?
Slide 36
A mashup is a song that’s created by blending two existing songs together.
Slide 37
A great mashup is a good song in itself, but also leaves it sources recognizable .
Slide 38
Say you have two songs Some indie rock
@RouvenWessling
Slide 39
Say you have two songs Some indie rock and an electronic track
@RouvenWessling
Slide 40
Say you have two songs Some indie rock and an electronic track can make for a great mashup
@RouvenWessling
Slide 41
An Example
Slide 42
We got a lot of Open Source projects And it’s getting hard to keep track of them.
@RouvenWessling
Slide 43
We need a dashboard •
Pull information from GitHub
•
Store metadata in Contentful
•
Pull information from other services, e.g. TravisCI
@RouvenWessling