<< REST API
Leer profesores Leer profesor Crear profesor Eliminar profesor Asignar o cambiar oficina del profesor
Leer matrículas asociadas al profesor
En el modelo, teacher
está relacionado 1 a 1 con supervisor
, por tanto se le pasan los datos de ambos para crear los registros en las 2 tablas.
Leer profesores
Operación
GET /teacher
Petición
No se pasa ningún valor.
Ejemplo de petición:
GET /teacher
Respuesta
Se devuelve un array de profesores.
Ejemplo de respuesta:
[
{
"enrolments": [ ... ],
"idOff": { ... },
"supervisor": {
"id": 1,
"name": "Arturo",
"surname": "Montejo",
"postalAddress": null,
"contactEmail": "amontejo@ujaen.es",
"contactPhone": null,
"preferedLanguage": "ES"
},
"id": 4
},
{
...
}
]
Leer profesor
Operación
GET /teacher/<teacher-ID>
Petición
Se pasa el ID del profesor al final de la petición.
Ejemplo de petición:
GET /teacher/4
Respuesta
Se devuelve el profesor.
Ejemplo de respuesta:
{
"enrolments": [ ... ],
"idOff": { ... },
"supervisor": {
"id": 1,
"name": "Arturo",
"surname": "Montejo",
"postalAddress": null,
"contactEmail": "amontejo@ujaen.es",
"contactPhone": null,
"preferedLanguage": "ES"
},
"id": 4
}
Crear profesor
Operación
POST /teacher
Petición
Se le pasa un objeto JSON con los siguientes campos:
-
name
(string): Nombre del profesor/supervisor -
surname
(string): Apellidos del profesor/supervisor -
contactEmail
(string): Email del profesor/supervisor -
postalAddress
(string): Dirección del profesor/supervisor (opcional) -
contactPhone
(string): Teléfono del profesor/supervisor (opcional) -
preferedLanguage
(string): Idioma preferido (Ejemplo: ES) -
idOff
(integer): ID de oficina
Ejemplo de petición:
POST /teacher
{
"name": "John",
"surname": "Doe",
"contactEmail": "johndoe@nothing.com",
"preferedLanguage": "ES",
"idOff": 1
}
Respuesta
Se devuelve el objeto creado en teacher y también en supervisor.
Ejemplo de respuesta:
{
"teacher": {
"supervisor": 18,
"id": 5,
"idOff": 1
}
}
Eliminar profesor
Se le pasa el id del recurso a eliminar y devuelve el recurso eliminado con código de estado 200 o bien el código 404 si no existe con ese id.
Operación
DELETE /teacher/<supervisor-ID>
Petición
Se pasa el ID del supervisor al final de la petición.
Ejemplo de petición:
DELETE /teacher/18
Respuesta
Se devuelve el objeto tutor y supervisor eliminado.
Ejemplo de respuesta:
{
"teacher": [
{
"id": 5,
"id_off": 1,
"supervisor": 18
}
],
"supervisor": [
{
"id": 18,
"name": "John",
"surname": "Doe",
"postal_address": null,
"contact_email": "johndoe@nothing.com",
"contact_phone": null,
"prefered_language": "ES"
}
]
}
Asignar o cambiar oficina del profesor
Operación
PUT /teacher/<teacher-ID>
Petición
Se pasa el ID del profesor al final de la petición y un objeto JSON con los campos que se desee modificar:
-
idOff
(integer): ID de la oficia a asignar
Ejemplo de petición:
PUT /teacher/3
{
"idOff": 2
}
Respuesta
Se devuelve un objeto con el profesor modificado.
Ejemplo de respuesta:
{
"enrolments": [],
"idOff": {
"id": 2,
"name": "Oficina Córdoba",
"postalAddress": null,
"contactPerson": null,
"contactEmail": null,
"contactPhone1": null,
"contactPhone2": null,
"preferedLanguage": null
},
"supervisor": { ... },
"id": 3
}
Leer matrículas asociadas al profesor
Operación
GET /teacher/<teacher-ID>/enrolments
Petición
Se pasa el ID del profesor en la la petición.
Ejemplo de petición:
GET /teacher/1/enrolments
Respuesta
Se devuelve un array de matrículas.
Ejemplo de respuesta:
[
{
"id": 1,
"registration": "2014-01-10T23:00:00.000Z",
"notes": "Matrícula para 3 meses",
"idMet": 1,
"idStu": 1,
"idTea": 1
},
{
...
}
]