SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
GraphQL and/or REST
Eugene Zharkov
REST
Level 0
Level 1
POST http://foo.com/api/
{ user: { name: “John”, surname: “Week” } }
POST http://foo.com/api/users/938
{ user: { name: “John”, surname: “Week” } }
REST
Level 2
GET http://foo.com/api/users/938/posts
DELETE http://foo.com/api/users/938
PUT http://foo.com/api/items/39
{ { age: 25 } }
REST
[
{ rel: ‘search.users’, uri: ‘/search/users’ },
{ rel: ‘users.block’, uri: ‘/users/938/block’ }
]
Level 3
GET http://foo.com/api/users/938/
GraphQL
GET api/books/938
GET api/authors/432
GET /graphql?query={ book(id: "1") { title, author { firstName } } }
GET api/books/432/comments
Sharing data in a Microservices Architecture using GraphQL
GraphQL
GitHub GraphQL API
https://developer.github.com/v4/explorer/
Скажи что-то по-GraphQL’ски
Enum
Order
Limit
Where IN
Fragment
(inline)
Скажи что-то по-GraphQL’ски
Variable
Declaration
Variable
Usage
Variable
Value
Скажи что-то по-GraphQL’ски
á la PUT
Скажи что-то по-GraphQL’ски
Helper
Validation
https://graphql.github.io/learn/
NINJA
GraphQL
REST
MORMON
Pros & Cons
REST
Project Manager
Frontend Developer
API Developer
Mobile Developer
Добавь новое
поле в API
Запили мне
новый endpoint
Вас много, а я
одна
Ребята, мы же
одна дружная
команда
А где DELETE
для entity?
Backend Developer
• Вся ответственность за API лежит на разработчике

• Данные API могут быть избыточными или
недостаточными

• Регулярные запросы на расширение ответа API или
добавления нового endpoint’а.
Pros & Cons
GraphQL
• Разработчик API старается предоставить
максимальный набор данных.

• Разработчик клиента сам формирует требуемые
запросы.

• Больше ответственности, увеличивается время на
разработку клиента.

• Удобный интерфейс для тестирования запросов.

• При возникновении проблем, разработчик API должен
знать, какой запрос вы отправляете*
Pros & Cons
Questions?
eu.zharkov@gmail.com

@2j2e

Weitere ähnliche Inhalte

Mehr von Artjoker

Первые шаги интернет-магазина одежды
Первые шаги интернет-магазина одеждыПервые шаги интернет-магазина одежды
Первые шаги интернет-магазина одеждыArtjoker
 
«Без каких микровзаимодействий нельзя делать WEB и mobile продукты в 2018-м»
«Без каких микровзаимодействий нельзя делать WEB и mobile продукты в 2018-м»«Без каких микровзаимодействий нельзя делать WEB и mobile продукты в 2018-м»
«Без каких микровзаимодействий нельзя делать WEB и mobile продукты в 2018-м»Artjoker
 
«Эмоциональный веб-дизайн, история одного чуткого лендинга»
«Эмоциональный веб-дизайн, история одного чуткого лендинга» «Эмоциональный веб-дизайн, история одного чуткого лендинга»
«Эмоциональный веб-дизайн, история одного чуткого лендинга» Artjoker
 
«Дизайн система для мобильных и веб проектов»
«Дизайн система для мобильных и веб проектов»«Дизайн система для мобильных и веб проектов»
«Дизайн система для мобильных и веб проектов»Artjoker
 
QA Evening Марк Курченко - Чек-лист против тест-кейса
QA Evening Марк Курченко - Чек-лист против тест-кейсаQA Evening Марк Курченко - Чек-лист против тест-кейса
QA Evening Марк Курченко - Чек-лист против тест-кейсаArtjoker
 
QA Evening Игорь Колосов - Performance Testing: Metrics & Measurements
QA Evening Игорь Колосов - Performance Testing: Metrics & MeasurementsQA Evening Игорь Колосов - Performance Testing: Metrics & Measurements
QA Evening Игорь Колосов - Performance Testing: Metrics & MeasurementsArtjoker
 
QA Evening Максим Колотилкин - Test State Pattern
QA Evening Максим Колотилкин - Test State PatternQA Evening Максим Колотилкин - Test State Pattern
QA Evening Максим Колотилкин - Test State PatternArtjoker
 
Меликян Артём (Team Lead of SEO Classifieds, Netpeak) Продвижение крупных про...
Меликян Артём (Team Lead of SEO Classifieds, Netpeak) Продвижение крупных про...Меликян Артём (Team Lead of SEO Classifieds, Netpeak) Продвижение крупных про...
Меликян Артём (Team Lead of SEO Classifieds, Netpeak) Продвижение крупных про...Artjoker
 
Клуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps EveningКлуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps EveningArtjoker
 
Performance: How to build an app instead of slideshow
Performance: How to build an app instead of slideshowPerformance: How to build an app instead of slideshow
Performance: How to build an app instead of slideshowArtjoker
 
Productivity Hero. Know Your Tools
Productivity Hero. Know Your ToolsProductivity Hero. Know Your Tools
Productivity Hero. Know Your ToolsArtjoker
 
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...Artjoker
 
10 выводов за 10 лет
10 выводов за 10 лет10 выводов за 10 лет
10 выводов за 10 летArtjoker
 
Контент-маркетинг в IT
Контент-маркетинг в ITКонтент-маркетинг в IT
Контент-маркетинг в ITArtjoker
 
Как мобильные технологии меняют современный бизнес
Как мобильные технологии меняют современный бизнесКак мобильные технологии меняют современный бизнес
Как мобильные технологии меняют современный бизнесArtjoker
 
Способы улучшения конверсии в контекстной рекламы
Способы улучшения конверсии в контекстной рекламыСпособы улучшения конверсии в контекстной рекламы
Способы улучшения конверсии в контекстной рекламыArtjoker
 
Кейс продвижения ивента с помощью контекстной рекламы
Кейс продвижения ивента с помощью контекстной рекламыКейс продвижения ивента с помощью контекстной рекламы
Кейс продвижения ивента с помощью контекстной рекламыArtjoker
 
Кейс All Stars: как мы делаем SMM
Кейс All Stars: как мы делаем SMMКейс All Stars: как мы делаем SMM
Кейс All Stars: как мы делаем SMMArtjoker
 
Персоны vs живые люди. Секреты успешного UX-проектирования
Персоны vs живые люди. Секреты успешного UX-проектированияПерсоны vs живые люди. Секреты успешного UX-проектирования
Персоны vs живые люди. Секреты успешного UX-проектированияArtjoker
 
Этапы развития интернет-магазина малого и среднего бизнеса
Этапы развития интернет-магазина малого и среднего бизнесаЭтапы развития интернет-магазина малого и среднего бизнеса
Этапы развития интернет-магазина малого и среднего бизнесаArtjoker
 

Mehr von Artjoker (20)

Первые шаги интернет-магазина одежды
Первые шаги интернет-магазина одеждыПервые шаги интернет-магазина одежды
Первые шаги интернет-магазина одежды
 
«Без каких микровзаимодействий нельзя делать WEB и mobile продукты в 2018-м»
«Без каких микровзаимодействий нельзя делать WEB и mobile продукты в 2018-м»«Без каких микровзаимодействий нельзя делать WEB и mobile продукты в 2018-м»
«Без каких микровзаимодействий нельзя делать WEB и mobile продукты в 2018-м»
 
«Эмоциональный веб-дизайн, история одного чуткого лендинга»
«Эмоциональный веб-дизайн, история одного чуткого лендинга» «Эмоциональный веб-дизайн, история одного чуткого лендинга»
«Эмоциональный веб-дизайн, история одного чуткого лендинга»
 
«Дизайн система для мобильных и веб проектов»
«Дизайн система для мобильных и веб проектов»«Дизайн система для мобильных и веб проектов»
«Дизайн система для мобильных и веб проектов»
 
QA Evening Марк Курченко - Чек-лист против тест-кейса
QA Evening Марк Курченко - Чек-лист против тест-кейсаQA Evening Марк Курченко - Чек-лист против тест-кейса
QA Evening Марк Курченко - Чек-лист против тест-кейса
 
QA Evening Игорь Колосов - Performance Testing: Metrics & Measurements
QA Evening Игорь Колосов - Performance Testing: Metrics & MeasurementsQA Evening Игорь Колосов - Performance Testing: Metrics & Measurements
QA Evening Игорь Колосов - Performance Testing: Metrics & Measurements
 
QA Evening Максим Колотилкин - Test State Pattern
QA Evening Максим Колотилкин - Test State PatternQA Evening Максим Колотилкин - Test State Pattern
QA Evening Максим Колотилкин - Test State Pattern
 
Меликян Артём (Team Lead of SEO Classifieds, Netpeak) Продвижение крупных про...
Меликян Артём (Team Lead of SEO Classifieds, Netpeak) Продвижение крупных про...Меликян Артём (Team Lead of SEO Classifieds, Netpeak) Продвижение крупных про...
Меликян Артём (Team Lead of SEO Classifieds, Netpeak) Продвижение крупных про...
 
Клуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps EveningКлуб Большого мозга - DevOps Evening
Клуб Большого мозга - DevOps Evening
 
Performance: How to build an app instead of slideshow
Performance: How to build an app instead of slideshowPerformance: How to build an app instead of slideshow
Performance: How to build an app instead of slideshow
 
Productivity Hero. Know Your Tools
Productivity Hero. Know Your ToolsProductivity Hero. Know Your Tools
Productivity Hero. Know Your Tools
 
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
 
10 выводов за 10 лет
10 выводов за 10 лет10 выводов за 10 лет
10 выводов за 10 лет
 
Контент-маркетинг в IT
Контент-маркетинг в ITКонтент-маркетинг в IT
Контент-маркетинг в IT
 
Как мобильные технологии меняют современный бизнес
Как мобильные технологии меняют современный бизнесКак мобильные технологии меняют современный бизнес
Как мобильные технологии меняют современный бизнес
 
Способы улучшения конверсии в контекстной рекламы
Способы улучшения конверсии в контекстной рекламыСпособы улучшения конверсии в контекстной рекламы
Способы улучшения конверсии в контекстной рекламы
 
Кейс продвижения ивента с помощью контекстной рекламы
Кейс продвижения ивента с помощью контекстной рекламыКейс продвижения ивента с помощью контекстной рекламы
Кейс продвижения ивента с помощью контекстной рекламы
 
Кейс All Stars: как мы делаем SMM
Кейс All Stars: как мы делаем SMMКейс All Stars: как мы делаем SMM
Кейс All Stars: как мы делаем SMM
 
Персоны vs живые люди. Секреты успешного UX-проектирования
Персоны vs живые люди. Секреты успешного UX-проектированияПерсоны vs живые люди. Секреты успешного UX-проектирования
Персоны vs живые люди. Секреты успешного UX-проектирования
 
Этапы развития интернет-магазина малого и среднего бизнеса
Этапы развития интернет-магазина малого и среднего бизнесаЭтапы развития интернет-магазина малого и среднего бизнеса
Этапы развития интернет-магазина малого и среднего бизнеса
 

GraphQL для FrontEnd разработчика