Cómo crear API de sitio web
Tengo una gran cantidad de clientes que me preguntan acerca de cómo hacer que las aplicaciones móviles que se conectan a sus sitios web para recuperar datos, permitir a los usuarios de inicio de sesión, etc La mayoría de ellos tienen sitios basados en PHP, pero no tienen ni idea de hacer APIs para la interfaz con ellos. Me preguntan por qué no puedo conectarme directamente a sus bases de datos SQL. No creo que sea una buena cosa hacer desde una aplicación para móviles. Preferiría que tengan algún tipo de API en su lugar.
En cuanto a los sitios basados en PHP, ¿cuáles son las mejores opciones cuando se trata de implementar una API para este propósito?
- ¿Por qué el audio subido está dañado cuando la subida es claramente exitosa?
- ¿Cómo puedo llegar a la información de calendario de los usuarios en el servidor?
- Encriptación y descifrado entre Android, PHP y node.js
- almacenar y recuperar la imagen del servidor WAMP usando android
- Implementación C2DM código PHP
- Autenticación de API de Laravel RESTful para aplicaciones para móviles
- Configurar una base de datos de servidor en línea y codificar mi aplicación nativa de Android para interactuar con ella
- Envío de datos de Sever a Android Device
- Caracteres especiales entre la aplicación de Android y el script PHP
- Cargando muchas imágenes del servidor en Android
- ¿Dónde poner mi archivo php?
- Encriptación AES 128 en Java Descifrado en PHP
- Uso de sesiones de PHP con mi aplicación de Android para iniciar sesión
Desea consultar los servicios web RESTful . Echa un vistazo a la wiki para esto aquí . La necesidad de su cliente es esencialmente construir aplicaciones PHP que sirven los datos subyacentes de sus sitios web a través de algunos tipos de datos compatibles con REST, por ejemplo , JSON, XML, SOAP , etc. Hay una serie de funciones PHP incorporadas que permiten la rápida conversión de datos PHP Estructuras en estos formatos. Esto le permitiría crear aplicaciones móviles que realizan solicitudes HTTP para obtener datos que luego pueden mostrar en su propia forma única.
Un ejemplo para un servicio con JSON podría ser el siguiente:
$action = $_GET['action']; switch($action) { case 'get-newest-products': echo json_encode(getNewestProducts()); break; case 'get-best-products': echo json_encode(getBestProducts()); break; . . . default: echo json_encode(array()); break; } function getNewestProducts($limit = 10) { $rs = mysql_query("SELECT * FROM products ORDER BY created DESC LIMIT $limit"); $products = array(); if (mysql_num_rows($rs) > 0) { while ($obj = mysql_fetch_object($rs)) { $products[] $obj; } } return $products; } function getBestProducts($limit = 10) { $rs = mysql_query("SELECT * FROM products ORDER BY likes DESC LIMIT $limit"); $products = array(); if (mysql_num_rows($rs) > 0) { while ($obj = mysql_fetch_object($rs)) { $products[] $obj; } } return $products; }
Puede consultar la API de la siguiente manera (con mod_rewrite en) http://myapi.mywebsite.com/get-newest-products
Basta con crear un subdominio de api con un único controlador y un método para cada tarea específica: genera los datos en json y está configurado:
http://api.theirsite.com/get-users http://api.theirsite.com/get-news
Etc …
REST es una muy buena forma de estructurar recursos para la recuperación. La creación de una API REST es una forma muy útil de definir el conjunto de operaciones que se pueden realizar en sus datos, manteniendo una capa relativamente fina de abstracción entre la API y los datos de la base de datos. Dicho esto, no es exactamente trivial, pero obliga a considerar los usos y las preocupaciones de seguridad, y es muy extensible y al futuro.
Bueno, he visto un montón de sitios web en Drupal, Joomla o WordPress. Si ese es el caso, los que tienen un módulo de API que puede habilitar y luego construir una aplicación de Android con esos.
Nos enfrentamos a este problema a menudo que introdujimos un servlet simple de Java usando XQUERY como capa entre nuestro propio formato y el sitio de destino, almacenado principalmente en bases de datos. Convierte los datos en JSON a través de los servicios REST. Eso nos podría hacer flexibles y rápidos para cada nuevo sistema como Joomla, WordPress, etc … Funciona desde hace muchos años para nosotros. La adaptación de un nuevo sistema duró al día. Puede utilizar Stylus-Enterprise para diseñar los archivos Xquery con una interfaz de usuario. Si quieres seguir con PHP, Luracast Restler hace un buen trabajo, de hecho.
Utilice Php Slim Micro Framework para crear REST APi. Es muy fácil de configurar y escribir el código.
Gracias
En lugar de las aplicaciones sugieren que utilicen su sitio móvil y un contenedor sólo para abrir un navegador y redirigirlos al sitio para móviles.
- Función nativa no se ha encontrado ninguna implementación
- Implementación del Administrador de etiquetas de Google en Android