entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

-3votos

Necesito hacer una restful que me traiga varios listados y datos generales pero con autenticacion alguien tiene un ejemplo completo

magarzon comentado Ene 18

¿Por qué no intentas buscar información, intentar hacer algo tú, y cuando tengas dudas y/o problemas, preguntar cosas concretas, no algo tan genérico?

1 Respuesta

1voto

pedrourday Puntos2500

Hola @informatico

Lo que pedís es algo muy genérico y además una api restful no te va a ahorrar de tener que programar con bases de datos. Sin embargo, vi tu pregunta y se me ocurrio subir un ejemplo de restful que tenía guardado en mi computadora. Es para quien le sirva, solo quiero aportar al mundo del software libre. Tiene autentificación con sesiones PHP: el usuario es "user" y la clave es "1234". Esta en GitHub, este es el link https://github.com/PedroUrday/php-restful-api-example.
Primero debes descargar el repositorio, haciendo click en "Clone or Download" y luego en "Download ZIP".
Para utilizar el ejemplo primero tenes que crear con PHPMyAdmin una base de datos llamada "world" y luego importar, dentro de esta, el archivo que se encuentra en /lib/mysql-country-list/countries.sql. Y ya podes usar el ejemplo.
En la carpeta api tenes una carpeta que se llama "countries" (que significa paises) que se corresponde con la tabla del mismo nombre en la base de datos (muchas veces, más de una tabla). Los demás archivos de la carpeta api no es necesario modificarlos. Dentro de esa carpeta "countries" tenés varios archivos. El "index.php" y el ".htaccess" tampoco se tocan. Cuando necesites otra tabla, por ejemplo "localidades", copias la carpeta "countries" y le haces los cambios correspondientes.
Los archivos a modificar son: "add.php", "edit.php", "get.php", "list.php", "remove.php" y "search.php"; y si sabes un poco de inglés, se corresponden con cada una de las operaciones que se pueden realizar en una api restful. El "index.php" se encarga de "escapar" los parámetros de las peticiones para evitar inyecciones SQL. Cada uno de esos script son incluidos por "index.php" y tienen definidas las siguientes variables: $data, $id y/o $params. No uses $_GET o $_POST, así evitas inyecciones SQL.
Si eliminas alguno de los script (excepto "index.php"), la correspondiente operación no queda disponible. Por ej: podes eliminar el archivo "list.php" para evitar que se listen todos los registros de una tabla que es muy grande.
Por último, no puse comentarios al código, así que tenés que revisar línea por línea que hace cada una. Eso te lo dejo. Supongo que sabes de PHP y MySQL. La documentación la agrego despues.

Saludos!

pedrourday comentado May 6

Se me olvido mencionar que tenés que activar la extensión intl de php. Modificas el archivo de configuración de php y descomentas la linea que dice ;extension=intl
Quitas el punto y coma. Así tendría que funcionar sin problemas.
Además, el ejemplo está programado con la biblioteca backbonejs y las variables Country (modelo) y CountryCollection (colección) están disponibles globalmente; con lo que podes hacer pruebas desde la consola en el inspector web (click derecho, "inspeccionar" y luego click pestaña "consola").

Saludos!

Por favor, accede o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Otras Preguntas y Respuestas


Actividad Reciente

...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta