34
CREANDO UN API GRAPHQL CON

Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

CREANDO UN API

GRAPHQL CON

Page 2: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

CARLOS MARTINEZDesarrollador Backend en twitter/carlosmart626 github/carlosmart626 https://carlosmart.co

Page 3: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

QUE ES GRAPHQL?

Page 4: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

QUE ES GRAPHQL?GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus datos, fue desarrollado por Facebook en 2012 y fue liberado públicamente en 2015. Provee una alternativa a REST.

Un servicio de GraphQL se crea definiendo tipos y campos en esos tipos, luego proveer funciones para cada uno de esos tipos definidos.

Page 5: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

ESTRUCTURA GRAPHQL

ObjectTypes, Enum, Scalars

Schemas

Un solo endpoint

GET, POST

Mutations

Nodos

Page 6: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

POR QUÉ GRAPHQL?

Page 7: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

https://github.com/CarlosMart626/graphql-pycon.co2018

Page 8: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

MANOS A LA OBRA

Page 9: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

pip install graphene-django

Page 10: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

TIPOS Y NODOS

Page 11: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

MUTACIONES [INPUT TYPES]

Page 12: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

MUTACIONES [INPUT TYPES]

Page 13: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

MUTACIONES

Page 14: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

MUTACIONES

Page 15: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

MUTACIONES

Page 16: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

SCHEMA

Page 17: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

SCHEMA [RESOLVERS]

Page 18: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

SCHEMA

Page 19: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

GRAPHENE SETTINGS

Page 20: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

AUTENTICACIÓNdjangorestframework-jwt

django-jwt-auth

Page 21: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

TESTING GRAPHQL?

Page 22: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

TESTING

Page 23: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

SUBSCRIPTIONS

Page 24: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus
Page 25: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

DJANGO CHANNELS!!!

Page 26: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

SUBSCRIPTIONS

pip install channels

Page 27: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

SUBSCRIPTIONS

Page 28: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

SUBSCRIPTIONS

Page 29: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

DÓNDE PUEDO USAR GRAPHQL?

Page 30: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus
Page 31: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus
Page 32: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus
Page 33: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

PREGUNTAS

Page 34: Creando una api GraphQL con Django - PyCon Colombia · GraphQL es un lenguaje de "query" de datos para tu API para ejecutar consultas usando un sistema de tipos definidos para tus

GRACIAS