Недавно я прилетел в Лос-Анджелес и провел семинар по GraphQL в Ticketmaster, где все создавали API GraphQL для JavaScript. Все последовали этому примеру, используя Launchpad, инструмент, который позволяет вам экспериментировать с серверами GraphQL в вашем браузере. К счастью, мастер-класс был записан, так что вы тоже можете попробовать!
Вот что вы узнаете:
Видео ссылается на подготовленный мной документ Quip, но все его содержимое воспроизведено здесь, в этом README. Я надеюсь вскоре перезаписать версию, более оптимизированную для использования в Интернете, но кто знает, сколько времени пройдет, прежде чем у меня появится время, поэтому я решил выложить ее первым. Идите и посмотрите!
Вот некоторые вещи, которые вам нужно сделать прямо сейчас:
И их идентификаторы аттракционов API Ticketmaster:
K8vZ9171C-f
K8vZ9174v57
K8vZ9171CVV
Это запрос, который мы хотим получить из нашего нового API GraphQL:
{
myFavoriteArtists {
id ,
name
image
twitterUrl
events {
name
image
startDateTime
}
}
}
Это схема, которая будет выполнять приведенный выше запрос:
type Query {
myFavoriteArtists : [ Artist ]
}
type Artist {
id : ID
name : String
image : String
twitterUrl : String
events : [ Event ]
}
type Event {
name : String
image : String
startDateTime : String
}
Нажмите на эти ссылки, чтобы увидеть готовые API в Launchpad:
Это конечные точки REST в API Ticketmaster, из которых мы хотим получить данные.
URL-адреса
// 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 } `
Код
// 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 ( ) )
Подробная документация API Ticketmaster: http://developer.ticketmaster.com/products-and-docs/apis/discovery-api/v2/#attraction-details-v2.
Если вы заинтересованы в проведении подобного семинара по GraphQL в вашей компании, напишите мне по адресу [email protected]
!