Ejemplo de aplicación js que se conecta a una API en java. La aplicación consiste en un directorio de Alumnos y Cursos en la que se pueden realizar las siguientes operaciones:
Para Alumnos
- Listar Alumnos
- Agregar Alumnos
- Eliminar Alumnos
- Editar Alumnos
Para Profesor
- Listar Profesor
- Agregar Profesor
- Eliminar Profesor
- Editar Profesor
Para Cursos
- Listar Cursos
- Asignar Cursos al Alumno
- Eliminar Cursos del Alumno
- Asignar Cursos al Profesor
- Eliminar Cursos del Profesor
v1.1-beta.1 - Operaciones CRUD básicas para alumnos y cursos
v1.0 - Operaciones CRUD básicas para alumnos
v3.1 - Operaciones CRUD básicas para alumnos y profesores
El proyecto utiliza Java 1.8 como lenguaje de servidor y ECMAScript como lenguaje de cliente.
La aplicación cliente utiliza HTML5,CSS3 y javascript
Se requiere de un unico Framework como dependencia que a su vez utiliza varias librerias y frameworks para funcionar:
MATERIAL DESIGN BOOTSTRAP -- mdbootstrap.com
Se ha utilizado la libreria Axios (Promise based HTTP client for the browser and node.js) AXIOS
./appclient/css/mdb ./appclient/vendor/js/axios ./appclient/vendor/js/mdb/lib
==================
* Axios =
* Bootstrap 4.0 =
* Fontawesome =
* JQuery =
* popper =
* Datatables =
...
Se debe apuntar el cliente al servicio REST local cambiando la url al principio del documento main:
./appclient/js/main.js
const endpoint = "http://localhost:8080/com.apprest.ipartek.ejercicios/api/";
La aplicación de servidor está escrita en java 1.8 con Maven como gestor de paquetes. Se pueden consultar las dependencias en:
./appclient/apprest/pom.xml
Es necesario instalarla base de datos del proyecto. Un archivo de importación se puede encontrar en:
./appclient/scrpt-db.sql
@GET ALL Personas (Alumnos)
http://localhost:8080/com.apprest.ipartek.ejercicios/api/personas/alumnos/
@POST Personas (Alumnos)
http://localhost:8080/com.apprest.ipartek.ejercicios/api/personas/alumnos/
{
"id": 1,
"nombre": "Nombre",
"avatar": "img/avatar1.png",
"sexo": "h",
"cursos": [
{
"id": 1,
"nombre": "Java",
"imagen": "default.png",
"precio": 100.0
"profesor": "Profe 1"
}
]
}
@PUT Persona (Alumno)
http://localhost:8080/com.apprest.ipartek.ejercicios/api/personas/alumnos/${id}
@DELETE Persona (Alumno)
http://localhost:8080/com.apprest.ipartek.ejercicios/api/personas/alumnos/${id}
@GET ALL Cursos
http://localhost:8080/com.apprest.ipartek.ejercicios/api/cursos/
@POST Curso en Persona (Alumno)
@DELETE Curso en Persona (Alumno)
@GET ALL Personas (Profesores)
http://localhost:8080/com.apprest.ipartek.ejercicios/api/personas/profesores/
@POST Personas (Profesores)
http://localhost:8080/com.apprest.ipartek.ejercicios/api/personas/profesores/
{
"id": 1,
"nombre": "Nombre",
"avatar": "img/avatar1.png",
"sexo": "h",
"cursos": [
{
"id": 1,
"nombre": "Java",
"imagen": "default.png",
"precio": 100.0
"profesor": "Profe 1"
}
]
}
@PUT Persona (Profesor)
http://localhost:8080/com.apprest.ipartek.ejercicios/api/personas/profesores/${id}
@DELETE Persona (Profesor)
http://localhost:8080/com.apprest.ipartek.ejercicios/api/personas/profesores/${id}
@GET ALL Cursos
http://localhost:8080/com.apprest.ipartek.ejercicios/api/cursos/
@POST Curso en Persona (Profesor)
@DELETE Curso en Persona (Profesor)
@GET ALL Cursos
http://localhost:8080/com.apprest.ipartek.ejercicios/api/cursos/