Saludos.
¿Alguien sabe donde podría encontrar a alguien que me ayudara a completar una práctica? (Si, pagaría y todo)
Resumen.
Tengo que hacer una APi con estilo arquitectónico REST y no se ni como empezar, y luego utilizarla para cosas tipo, insertar, consultar, alumnos etc.
Nos han cascado esta práctica sin explicarnos nada de APIS ni REST...
Cualquier ayuda me vale.
spoiler
GESTIÓN DE BASE DE DATOS en PHP a través de SERVICIOS REST
Se trata de implementar una aplicación Web utilizando el lenguaje PHP, que gestione una base de datos que contiene información académica sobre alumnos, asignaturas y sus matrículas, a través de servicios REST.
La base de datos estará formada por tres tablas interrelacionadas: alumnos, asignaturas y matrículas, cuyos atributos y claves, son los siguientes:
ALUMNOS (expediente, nombre, usuario, clave, f_nacimiento, origen, email, observaciones)
ASIGNATURAS (cod_asig, nom_asig, créditos, curso)
MATRÍCULAS (expediente, cod_asig, calificación
A partir de este modelo de base de datos, se pide:
a) Implementar la base de datos descrita utilizando la herramienta phpMyAdmin. Insertar algún registro de prueba en cada una de las tablas de la base de datos
b) Implementar un archivo “alumno.php” que debe contener las funciones y código necesario para mantener la base de datos a través del servicio REST que gestiona dicha base de datos según la siguiente tabla:
URI Método http Operación Código Operación
/alumno POST Registrar nuevo alumno alta_auto()
/alumno GEST Consulta alumnos get_alumnos()
/alumno/{expediente} GET Consulta alumno=expediente get_alumno($expediente)
/alumno/{expediente}/matriculas GET Consulta calificaciones de alumno=expediente get_matriculas_alum($expediente)
• /alumno (con POST): permite dar de alta un nuevo alumno, para lo cual han de recibirse todos sus datos (todos los atributos que se indican en la tabla alumnos)
Estos datos se podrán hacer llegar al servicio como datos XML o como pares enlazados atributo-valor (cómo cada uno prefiera).
Si se implementa el caso en que los datos se reciben en XML, el formato de los mismos con la información del nuevo automóvil, sería:
<alumno>
<expediente>expediente_alum</expediente>
<nombre>nom_alum</nombre>
... (mismo formato para resto de campos de la tabla)
</alumno>
• /alumno (con GET): Consulta del nombre y expediente de todos los alumnos de la base de datos.
El resultado de la consulta se devolverá en el siguiente formato XML:
<alumnos>
<alumno>
<expediente>expediente_alum1</expediente>
<nombre>nom_alum1</nombre>
</alumno>
<alumno>
<expediente>expediente_alum2</expediente>
<nombre>nom_alum2</nombre>
</alumno>
...
</alumnos>
• /alumno/{expediente}: consulta de algunos de los datos (nombre, fecha de nacimiento y email) del alumno cuyo expediente se indica como segundo parámetro de la URL.
El resultado de la consulta se devolverá en el siguiente formato XML:
<alumno>
Nombre alumno
<f_nacimiento> fecha nacimiento alumno </f_nacimiento>
<email> email alumno </email>
</alumno>
• alumno/{expediente}/matriculas: consulta de las calificaciones del alumno cuyo expediente se pasa como segundo parámetro.
El resultado de la consulta se devolverá en el siguiente formato XML:
<alumno>
Nombre alumno
<calificacion>
<asignatura> nom_asig1 </asignatura>
<nota> calificacion_asig1 </nota>
</calificacion>
<calificacion>
<asignatura> nom_asig2 </asignatura>
<nota> calificacion_asig2 </nota>
</calificacion>
...
</alumno>
Si el alumno no estuviese matriculado en ninguna asignatura el resultados sería: (<alumno>nombre alumno</alumno>).
c) Implementar un interfaz que permita hacer uso del servicio REST implementado.
- Se partirá de una página inicial donde se mostrarán un listado con el nombre de todos los alumnos de la base de datos (a través del servicio correspondiente) y un enlace “Añadir un nuevo alumno”.
- Desde “Añadir nuevo alumno” se invocará al formulario de alta del alumno y desde éste, al fichero que da de alta al alumno invocando a la URL del servicio REST adecuado.
El formulario de alta contendrá los campos necesarios para crear un registro en la tabla de alumnos con el formato y reglas de validación que ya se indicaron en la Tarea 2 de la signatura.
- Cada alumno del listado inicial también representará un enlace a través del cual se mostrarán todas sus calificaciones (asignatura y nota), mediante la invocación de la URL correcta del servicio REST implementado.