Foros del Web » Programación para mayores de 30 ;) » Programación General »

[SOLUCIONADO] Duda construyendo mi API

Estas en el tema de Duda construyendo mi API en el foro de Programación General en Foros del Web. Buenas! Actualmente estoy en la fase final del desarrollo de un proyecto web. Esta fase final es una pequeña API, que permitiría interactuar con el ...
  #1 (permalink)  
Antiguo 13/06/2013, 00:41
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años, 1 mes
Puntos: 33
Duda construyendo mi API

Buenas!

Actualmente estoy en la fase final del desarrollo de un proyecto web. Esta fase final es una pequeña API, que permitiría interactuar con el proyecto de manera sencilla desde cualquier plataforma con acceso a internet.

Entonces, a la hora de obtener datos de manera remota es bastante sencillo (Hice un par de clases con PHP que se pueden incluir en la página destino y con un par de sencillas llamadas obtenemos un XML con la información que pedimos).

El problema lo tengo a la hora de enviar datos (digamos, hacer un "insert", "update" o "delete" - siempre de manera embebida).

Mi problema es el siguiente: para obtener datos llamo a mi web con datos GET, es decir, por ejemplo (obviamente le hago un "encode" para que pase bien por el GET):

Código:
http://mi.web.com/API/bridge.php?q=GET:v=V;t=T;s=1|2|3|7;p=P
Entonces yo digamos que "compilo" la petición y retorno datos desde mi servidor.

Pero a la hora de hacer un "insert", "update" o "delete" la cadena de llamada podría ser enorme (hay campos que aceptan más de 200 caracteres), por lo que creo que es muy probable que se exceda el límite de longitud de GET...

Entonces, pensé en hacer algo similar a lo que hace Google con su API de Maps; al usarla, le puedes indicar un archivo KML y Google lo obtiene mediante URL y lo usa (así ahorras tener que usar GET o POST). Pues ahí estoy.

Desde la web lo tengo bien claro cómo hacerlo. Sería, por ejemplo, usando PHP hacer un file_get_contents...

El tema está en la programación para móviles. Si yo tengo una app que use la API, al generar el fichero se generaría en local, y por ende no tendría manera de acceder a él desde mi servidor (ya que no es una URL).

Pensé que quizás podría subir el archivo mediante FTP, y de ahí usar el nombre de archivo como parámetro GET y que mi servidor lea el archivo de manera local, pero no se hasta qué punto puede ésto ser seguro...

¿Qué me recomendáis? ¿Qué sería más eficiente?

Un saludo y gracias desde ya.
  #2 (permalink)  
Antiguo 13/06/2013, 10:08
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Duda construyendo mi API

Para mostrar información usa GET, si modificas datos insert, update o delete usa POST. Así de simple.

De hecho NO debes usar GET si modificas datos.

Si subir cosas así por ftp se me hace demasiado inseguro e indicarle el nombre por medio de la petición GET es mas inseguro aun.
  #3 (permalink)  
Antiguo 14/06/2013, 00:09
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años, 1 mes
Puntos: 33
Respuesta: Duda construyendo mi API

¿Pero POST no tiene, de igual manera, un límite de tamaño?
  #4 (permalink)  
Antiguo 14/06/2013, 00:36
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Duda construyendo mi API

Cita:
Iniciado por DoHITB Ver Mensaje
¿Pero POST no tiene, de igual manera, un límite de tamaño?
El tamaño es limitado por el web server y regularmente pueden ser MB o GB el limite.
  #5 (permalink)  
Antiguo 14/06/2013, 00:40
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años, 1 mes
Puntos: 33
Respuesta: Duda construyendo mi API

Uh, vaya... yo pensando que sería extremadamente limitado... jejeje

así, caso cerrado

Gracias.

Etiquetas: api, git, php, programa
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 20:03.