api rest conceptos (rails-api)

33
API REST Foro de desarrollo móvil UNI RUACS

Upload: daryl-moreno

Post on 06-Apr-2017

500 views

Category:

Technology


11 download

TRANSCRIPT

Page 1: API REST conceptos (Rails-api)

API RESTForo de desarrollo móvil UNI RUACS

Page 2: API REST conceptos (Rails-api)

¿Qué es una API?Aplication Programming Interface

(Interfaz de programación de Aplicaciones)

Servidor

BD

RubyAPI

Cliente Servidor

Page 3: API REST conceptos (Rails-api)

¿Qué es una API?

Aplication Programming Interface

Es un conjunto de servicios y funciones que nos permiten comunicarnos con

otras aplicaciones.

Page 4: API REST conceptos (Rails-api)

Cliente

Page 5: API REST conceptos (Rails-api)

REST

REpresentational State Transfer (Transferencia de Representación de Estado) Es un tipo de arquitectura de desarrollo web que se apoya totalmente en el estándar HTTP basado en recursos.

Page 6: API REST conceptos (Rails-api)

Principios REST

•Cliente / Servidor

•Sin estado

•Puede ser “Cacheable”

•Basado en Recursos

Page 7: API REST conceptos (Rails-api)

Recursos

URL = HTTP, Nombre del Host, URI

http://www.mistareas.com/tareas

Identificador delRecurso

Page 8: API REST conceptos (Rails-api)

90%De las nuevas API

están basadas en REST

Page 9: API REST conceptos (Rails-api)
Page 10: API REST conceptos (Rails-api)

Cliente ServidorRequest

Response

API Recursos

Servidor

Tareas

JSON, XML

Cliente

Page 11: API REST conceptos (Rails-api)

JSON XML

Tipos de Respuestas

Page 12: API REST conceptos (Rails-api)

GET

REST utiliza verbos HTTP

Ver Recursos

Page 13: API REST conceptos (Rails-api)

POST

REST utiliza verbos HTTP

Crear Recursos

Page 14: API REST conceptos (Rails-api)

PUT/PATCH

REST utiliza verbos HTTP

Actualizar Recursos

Page 15: API REST conceptos (Rails-api)

DELETE

REST utiliza verbos HTTP

Eliminar Recursos

Page 16: API REST conceptos (Rails-api)

Recursos y verbos HTTP

URI HTTP Acción

/Tareas GET Ver Todos

/Tareas POST Crear

/Tareas/1 GET Ver uno

/Tareas/1 PUT/PATCH Actualizar

/Tareas/1 DELETE Borrar

Page 17: API REST conceptos (Rails-api)

Orden lógico

GET /personas/1/mascotas Obtener las mascotas de la persona con el id 1

GET /personas/1/mascotas/1 = ítemObtener la mascota con id 1 de la persona con id 1

Page 18: API REST conceptos (Rails-api)

Estados HTTP

(1XX) INFO

(2XX) SUCCESS

(3XX) REDIRECTION

(4XX) CLIENT ERROR

(5XX) SERVER ERROR

Page 19: API REST conceptos (Rails-api)

¿Cómo hacer una API RESTcon Ruby on Rails?

Page 20: API REST conceptos (Rails-api)

¿Qué es Ruby?

Ruby es un lenguaje deprogramación de guiones(scripts).

Fácil y sencillo de aprender

La sintaxis es simple

Todo es considerado unobjeto.

Page 21: API REST conceptos (Rails-api)

¿Qué es ruby on rails?

Es un entorno de desarrollo webbasado en Ruby.

Código abierto .

Convención sobre configuración.

Basado en MVC (Modelo, VistaControlador)

Page 22: API REST conceptos (Rails-api)

Herramientas a utilizar

•Ruby on Rails

•Editor de texto (Sublime Text)

•Consola o Terminal

•Navegador Web (Chrome, Firefox)

•Postman (Extensión de chrome)

Page 23: API REST conceptos (Rails-api)

http://railsinstaller.org/en

Page 24: API REST conceptos (Rails-api)

http://railsinstaller.org/en

Page 25: API REST conceptos (Rails-api)

Consola CMD

gem install rails-api

Page 26: API REST conceptos (Rails-api)

Consola CMD

Page 27: API REST conceptos (Rails-api)

Iniciamos un proyecto de Rails

rails-api new nombre_proyecto

Page 28: API REST conceptos (Rails-api)
Page 29: API REST conceptos (Rails-api)
Page 30: API REST conceptos (Rails-api)

Entramos a la carpeta del proyecto

Page 31: API REST conceptos (Rails-api)

GeneradoresC:> rails new nombre_proyecto

C:> rails g controller nombre crear borrar …

C:> rails g model post titulo:string estado:integer …

C:> rails g scaffold post titulo:string estado:boolean

↑ Genera un nuevo proyecto de rails

Genera un controlador ↑ nombre y ↑ acciones

Genera un modelo ↑ nombre y ↑ campos de base de datos

Genera modelo, controlador y vistas con sus acciones CRUD de manera automatica

Page 32: API REST conceptos (Rails-api)

GeneradoresC:> rails server

C:> rails console

C:> rake db:migrate

Corre el servidor de rails, ‘rails s’ hace lo mismo

Nos permite interactuar con la aplicación desde la consola

Hace una migración a la base de datos también están las opciones ‘rake db:rollback’, ‘rakedb:drop’, ‘rake db:drop’

Page 33: API REST conceptos (Rails-api)

GRACIAS

@morenodaryl

DARYL MORENO TORREZEstudiante de Ingeniería de Sistemas

| Backend | Frontend |

/morenodaryl

Twitter:

Github: