Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cómo usar GraphQL para consumir la API REST de WordPress - WordCamp Madrid 2017

Cómo usar GraphQL para consumir la API REST de WordPress - WordCamp Madrid 2017

WordCamp Madrid 2017

fzberlinches

April 22, 2017
Tweet

More Decks by fzberlinches

Other Decks in Technology

Transcript

  1. CÓMO USAR GRAPHQL PARA
    CONSUMIR LA API REST DE
    WORDPRESS
    /
    Félix Zapata @felixzapata

    View Slide

  2. SOBRE MÍ
    Desarrollador senior front end y consultor de
    accesibilidad web. Trabajo en .
    Fundador del grupo meetup .
    Coorganizador de los grupos meetup
    , y .
    Aerotranstornado: piloto y controlador aéreo en la red
    online de vuelo .
    SyncRTC
    WordPress Madrid
    Accesibilidad
    Spain Angular Madrid Polymer Madrid
    VATSIM
    Mi GitHub: felixzapata

    View Slide

  3. DEJADME CAMBIAR EL TÍTULO
    Cómo usar GraphQL para consumir datos de
    WordPress.

    View Slide

  4. ¿POR QUÉ GRAPHQL?
    ¿Cuántas veces os habéis encontrado con la tediosa
    tarea de "pintar" una pantalla con la información
    procedente de 4 o 5 endpoints diferentes?.

    View Slide

  5. ¿QUÉ ES GRAPHQL?
    Creado por Facebook allá por el 2012.
    Lenguaje de queries con la idea incluso de
    .
    llegar a
    reemplazar a REST
    Con GraphQL, es el cliente el que le dice al servidor
    cómo quiere que le devuelvan los datos.

    View Slide

  6. VEAMOS UN EJEMPLO
    Fuente de la imagen: Graph in the age of REST APis

    View Slide

  7. ¿CUÁLES SON LOS PASOS?
    Hay que definir un esquema, que aglutina todas las
    posibles queries del sistema.
    Crear la query.
    Ejecutar la acción pasando el esquema y la query.

    View Slide

  8. ¿Y CÓMO PODEMOS USARLO
    CON WORDPRESS?
    Interesante pregunta

    View Slide

  9. WP GRAPHQL
    Plugin que crea un endpoint GraphQL en mi sitio
    WordPress.
    No lo recomiendan para producción por temas de
    seguridad.
    Se instala via .
    Composer

    View Slide

  10. {
    post(id: 1) {
    title,
    content
    }
    }
    {
    data: {
    post: {
    title: "WP GraphQL seems pretty neat!",
    content: "Wow this will enable me to make some amazing experiences in W
    }
    }
    }

    View Slide

  11. GRAPHQL-WP
    Plugin que crea un endpoint GraphQL en mi sitio
    WordPress.
    Se instala via .
    Composer
    Usa la librería .
    graphql-php

    View Slide

  12. {"query":"{
    wp_query {
    posts(paged: 1 posts_per_page: 10) {
    title
    terms (taxonomy:\"category\") {
    slug
    }
    }
    }
    }"}
    {"data": {
    "wp_query": {
    "posts": [
    {
    "title": "Much better than REST",
    "terms": [{
    "slug": "example-category"
    }]
    }
    }}

    View Slide

  13. YO ME LO GUISO, YO ME LO COMO
    Los anteriores plugins, nos daban ya los esquemas
    hechos.
    .
    Pero podemos crear los nuestros claro

    View Slide

  14. DEMO

    View Slide

  15. ENLACES DE INTERÉS
    GraphQL endpoint for WordPress
    WordPress using Node, React, GraphQL, and Apollo
    WordPress GraphQL API Example
    WordPress with Node, React, and GraphQL (Part 1 — 
    Introduction)
    WordPress Revolution with GraphQL

    View Slide

  16. ENLACES DE INTERÉS
    (SEGUNDA PARTE)
    WordExpress Project Experiments with Bringing
    GraphQL to WordPress
    Welcome to WP GraphQL
    GraphQL in the age of REST APIs
    Introducción práctica a GraphQL I
    ¿Por qué deberíamos abandonar REST y empezar a
    usar GraphQL en nuestras APIs?

    View Slide

  17. ENLACES DE INTERÉS
    (TERCERA PARTE)
    A spanish summary of GraphQL
    Let's Learn GraphQL
    So what’s this GraphQL thing I keep hearing about?

    View Slide