<< REST API
Leer oficinas Leer oficina Nueva oficina Modificar datos de oficina Eliminar oficina
Leer oficinas
Operación
GET /office
Petición
No se pasa ningún valor.
Ejemplo de petición:
GET /office
Respuesta
Se devuelve un array de oficinas.
Ejemplo de respuesta:
[
    {
        "teachers": [ ... ],
        "id": 1,
        "name": "Oficina Jaén",
        "postalAddress": null,
        "contactPerson": null,
        "contactEmail": null,
        "contactPhone1": null,
        "contactPhone2": null,
        "preferedLanguage": null
    },
    {
         ...
    }
]Leer oficina
Operación
GET /office/<office-ID>
Petición
Se pasa el ID de la oficina al final de la petición.
Ejemplo de petición:
GET /office/1
Respuesta
Se devuelve la oficina.
Ejemplo de respuesta:
{
        "teachers": [ ... ],
        "id": 1,
        "name": "Oficina Jaén",
        "postalAddress": null,
        "contactPerson": null,
        "contactEmail": null,
        "contactPhone1": null,
        "contactPhone2": null,
        "preferedLanguage": null
}Nueva oficina
Operación
POST /office
Petición
Se pasa un objeto JSON con los siguientes campos:
- 
name(string): Nombre de la oficina
- 
postalAddress(string): Dirección
- 
contactPerson(string): Persona de contacto
- 
contactEmail(string): Email de contacto
- 
contactPhone1(string): Teléfono de contacto
- 
contactPhone2(string): Teléfono alternativo de contacto (opcional)
- 
preferedLanguage(string): Idioma
Ejemplo de petición:
POST /office
{
    "name": "Oficina Málaga",
    "postalAddress": "c/ Larios 13",
    "contactPerson": "Jose Luna",
    "contactEmail": "jluna@ofimal.com",
    "contactPhone1": "666354789",
    "preferedLanguage": "ES"
}Respuesta
Se devuelve un objeto con la oficina creada.
Ejemplo de respuesta:
{
    "name": "Oficina Málaga",
    "id": 4,
    "postalAddress": "c/ Larios 13",
    "contactPerson": "Jose Luna",
    "contactEmail": "jluna@ofimal.com",
    "contactPhone1": "666354789",
    "preferedLanguage": "ES"
}Modificar datos de la oficina
Operación
PUT /office/<office-ID>
Petición
Se pasa el ID de la oficina y un objeto JSON con los datos a modificar:
- 
name(string): Nombre de la oficina
- 
postalAddress(string): Dirección
- 
contactPerson(string): Persona de contacto
- 
contactEmail(string): Email de contacto
- 
contactPhone1(string): Teléfono de contacto
- 
contactPhone2(string): Teléfono alternativo de contacto
- 
preferedLanguage(string): Idioma
Ejemplo de petición:
PUT /office/4
{
  "contactPerson": "Jose López",
  "contactPhone2": "654789654"
}Respuesta
Se devuelve un objeto con los datos cambiados.
Ejemplo de respuesta:
{
    "teachers": [],
    "id": 4,
    "name": "Oficina Málaga",
    "postalAddress": "c/ Larios 13",
    "contactPerson": "Jose López",
    "contactEmail": "jluna@ofimal.com",
    "contactPhone1": "666354789",
    "contactPhone2": "654789654",
    "preferedLanguage": "ES"
}Eliminar oficina
Operación
DELETE /office/<office-ID>
Petición
Se pasa el id de la oficina a eliminar al final de la petición.
Ejemplo de petición:
DELETE /office/4
Respuesta
Se devuelve la oficina eliminada.
Ejemplo de respuesta:
{
    "teachers": [],
    "id": 4,
    "name": "Oficina Málaga",
    "postalAddress": "c/ Larios 13",
    "contactPerson": "Jose López",
    "contactEmail": "jluna@ofimal.com",
    "contactPhone1": "666354789",
    "contactPhone2": "654789654",
    "preferedLanguage": "ES"
}Leer profesores de la oficina
Operación
GET /office/<office-ID>/teachers
Petición
Se pasa el ID de la oficina en la la petición.
Ejemplo de petición:
GET /office/1/teachers
Respuesta
Se devuelve un array de profesores.
Ejemplo de respuesta:
[
    {
        "id": 1,
        "supervisor": 1,
        "idOff": 1
    },
    {
        ...
    }
]