Recentemente, voei para Los Angeles e fiz um workshop sobre GraphQL na Ticketmaster, onde todos construíram uma API JavaScript GraphQL. Todos acompanharam usando o Launchpad, uma ferramenta que permite experimentar servidores GraphQL em seu navegador. Felizmente, o workshop foi gravado, então você também pode experimentar!
Aqui está o que você aprenderá:
O vídeo faz referência a um documento do Quip que preparei, mas todo esse conteúdo está reproduzido aqui neste README. Espero regravar uma versão mais otimizada para consumo de internet em breve, mas quem sabe quanto tempo vai demorar até que eu tenha tempo, então pensei em colocar isso primeiro. Vá em frente e assista!
Aqui estão algumas coisas que você precisa fazer imediatamente:
E seus IDs de atração da API Ticketmaster:
K8vZ9171C-f
K8vZ9174v57
K8vZ9171CVV
Esta é a consulta que queremos buscar em nossa nova API GraphQL:
{
myFavoriteArtists {
id ,
name
image
twitterUrl
events {
name
image
startDateTime
}
}
}
Este é um esquema que atenderá à consulta acima:
type Query {
myFavoriteArtists : [ Artist ]
}
type Artist {
id : ID
name : String
image : String
twitterUrl : String
events : [ Event ]
}
type Event {
name : String
image : String
startDateTime : String
}
Clique nestes links para ver as APIs finalizadas no Launchpad:
Esses são os endpoints REST na API Ticketmaster dos quais queremos buscar.
URLs
// Look up artist details
`https://app.ticketmaster.com/discovery/v2/attractions/ ${ id } .json?apikey= ${ context . secrets . TM_API_KEY } `
// Look up events for an artist
`https://app.ticketmaster.com/discovery/v2/events.json?size=10&apikey= ${ context . secrets . TM_API_KEY } &attractionId= ${ id } `
Código
// Artist details
return fetch ( `https://app.ticketmaster.com/discovery/v2/attractions/ ${ id } .json?apikey= ${ context . secrets . TM_API_KEY } ` )
. then ( res => res . json ( ) )
// Events
return fetch ( `https://app.ticketmaster.com/discovery/v2/events.json?size=10&apikey= ${ context . secrets . TM_API_KEY } &attractionId= ${ id } ` )
. then ( res => res . json ( ) )
Documentos detalhados da API Ticketmaster: http://developer.ticketmaster.com/products-and-docs/apis/discovery-api/v2/#attraction-details-v2
Se você estiver interessado em realizar um workshop GraphQL como este em sua empresa, não hesite em me enviar um e-mail para [email protected]
!