Foros del Web » Programando para Internet » Ruby »

[SOLUCIONADO] Cómo publicar una API

Estas en el tema de Cómo publicar una API en el foro de Ruby en Foros del Web. Estoy trabajando con Ruby on Rails, desarrollando una aplicación web y mobile, necesito poder publicar los servicios a través de un API. ¿Me pueden orientar ...
  #1 (permalink)  
Antiguo 21/02/2015, 15:30
 
Fecha de Ingreso: junio-2011
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 13
Pregunta Cómo publicar una API

Estoy trabajando con Ruby on Rails, desarrollando una aplicación web y mobile, necesito poder publicar los servicios a través de un API. ¿Me pueden orientar un poco? Algún tutorial bueno o ejemplo de código para investigar. En google he buscado pero no me queda claro o los he seguido y no me funcionan.

Muchas gracias.
  #2 (permalink)  
Antiguo 21/02/2015, 16:20
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: Cómo publicar una API

¿Y qué tiene que hacer la API? Porque si es sólo para gestionarel contenido de la app ya puedes leer los json. Concreto un poco a ver.
__________________
(:
  #3 (permalink)  
Antiguo 21/02/2015, 17:28
 
Fecha de Ingreso: junio-2011
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 13
Respuesta: Cómo publicar una API

Gracias por responeder, pzin.
Cuando quiero obtener variables por POST para hacer una inserción por ejemplo, si se hace desde un aplicación externa, no lo permite dado que según leí, Ruby on Rails genera un token aleatorio de sesión cuando trabajas desde la misma aplicación. Al querer obtener esas variables desde un app externa, no tengo acceso al token, conseguí evitar ese token colocando en los controladores la siguiente linea: skip_before_filter :verify_authenticity_token, pero no es lo ideal.

Quiero una API donde pueda publicar los servicios de forma segura y que cualquier aplicación externa los pueda consumir. ¿Se entiende?
  #4 (permalink)  
Antiguo 21/02/2015, 21:55
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: Cómo publicar una API

La única forma de evitar el token es esa que comentas o eliminar directamente protect_from_forgery de application_controller.rb.

¿Viste esta gema? rails-api Igual te puede interesar para crear una app que sólo funcione como API.
__________________
(:
  #5 (permalink)  
Antiguo 22/02/2015, 10:55
 
Fecha de Ingreso: junio-2011
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 13
Respuesta: Cómo publicar una API

Gracias nuevamente pzin, ¿quitar esa sentencia o agregar la otra te parece recomendable? ¿O la mejor opción es utilizar la gema esa? Voy a leer sobre ella.
  #6 (permalink)  
Antiguo 22/02/2015, 13:43
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: Cómo publicar una API

Cita:
Iniciado por rapuig Ver Mensaje
Gracias nuevamente pzin, ¿quitar esa sentencia o agregar la otra te parece recomendable? ¿O la mejor opción es utilizar la gema esa? Voy a leer sobre ella.
Pues depende.

Si la aplicación rails solamente va a funcionar como una API, no vas a necesitar protect_from_forgery, pero si va a tener más cosas mejor conceder acceso según controlador(es).

Aunque igual rails es mucha historia para funcionar simplemente como una API. Tal vez Sinatra, que es más ligero, te vaya mejor y más rápido.
__________________
(:
  #7 (permalink)  
Antiguo 23/02/2015, 20:40
 
Fecha de Ingreso: junio-2011
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 13
Respuesta: Cómo publicar una API

Nuevamente muchas gracias, pzin. Ya estoy trabajando con Rails::Api, luego leí sobre Grapes que parece ser mejor y más pensada para trabajar como API, pero bueno seguiré con la primera.

Ahora estoy con el tema de la autenticación de parte de los consumidores de la API para acceder a los servicios, pero lo publicaré en otro post por las reglas del foro.

Saludos.

Etiquetas: rubyonrails
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:38.