Changes between Version 6 and Version 7 of ApiRest


Ignore:
Timestamp:
Feb 2, 2017, 12:25:22 PM (7 years ago)
Author:
ramon
Comment:

Actualización documentación API REST.

Legend:

Unmodified
Added
Removed
Modified
  • ApiRest

    v6 v7  
    4141Las llamadas a rutas GET pueden tener parámetros que irán incluidos dentro de la URL.
    4242
    43 Las llamadas a rutas POST incluirán sus parámetros en formato "{{{parámetro=valor}}}".
     43Las llamadas a rutas POST incluirán sus parámetros en formato JSON.
    4444
    4545
     
    4949
    5050 - Código de estado HTTP.
    51  - Datos en formato JSON, que incluirá al menos, los parámetros:
    52    - {{{error}}} (booleano): indicando el éxito ({{{false}}}) o fallo ({{{true}}}) de la operación.
    53    - Párametros de salida de la operación (si {{{"error":false}}}).
    54    - {{{message}}} (cadena): descripción del error (si {{{"error":true}}}).
     51 - Datos en formato JSON.
    5552
    5653Los códigos de estado HTTP definidos son:
     
    7471     - {{{username}}} (cadena): nombre de usuario.
    7572     - {{{password}}} (cadena): contraseña.
    76    - Devuelve:
     73   - Devuelve: objeto.
    7774     - {{{userid}}} (entero): identificador del usuario.
    7875     - {{{apikey}}} (cadena): clave de acceso a la API REST.
    7976
     77 - {{{/info}}}
     78   - Muestra información general del sistema.
     79   - Método: GET.
     80   - Deveulve: objeto.
     81     - {{{project}}} (cadena): nombre del proyecto (OpenGnsys).
     82     - {{{version}}} (cadena): versión instalada.
     83     - {{{release}}} (cadena): revisión instalada.
     84     - {{{services}}} (array de cadenas): lista de servicios iniciados.
     85     - {{{ous}}} (array de objetos): datos de los clientes ogLive instalados, compuesta por:
     86       - {{{distribution}}} (cadena): distribución Linux del cliente ogLive.
     87       - {{{kernel}}} (cadena): versión del Kernel Linux.
     88       - {{{revision}}} (cadena): revisión del cliente ogLive.
     89       - {{{directory}}} (cadena): subdirectorio de instalación.
     90       - {{{iso}}} (cadena): fichero de imagen ISO con el cliente ogLive descargado.
     91
     92 - {{{/status}}}
     93   - Muestra información del estado actual del servidor.
     94   - Método: GET.
     95   - Deveulve: objeto.
     96     - {{{memInfo}}} (objeto): datos de memoria del servidor.
     97       - {{{total}}} (cadena): cantidad total de memoria.
     98       - {{{used}}} (cadena): cantidad de memoria usada por los procesos en ejecución.
     99     - {{{cpu}}} (objeto): datos de procesadores del servidor.
     100       - {{{model}}} (cadena): modelo del procesado.
     101       - {{{usage}}} (cadena): porcentaje de uso.
     102
    80103 - {{{/ous}}}
    81104   - Listar Unidades Organizativas accesibles por el usuario.
    82105   - Método: GET.
    83    - Deveulve:
    84      - {{{ous}}} (array): datos de las Unidades Organizativas definidas, compuesta por:
    85        - {{{ouid}}} (entero): identificador de la UO.
    86        - {{{ouname}}} (cadena): nombre de la UO.
     106   - Deveulve: array de objetos.
     107     - {{{id}}} (entero): identificador de la UO.
     108     - {{{name}}} (cadena): nombre de la UO.
    87109
    88110 - {{{/ous/:id1}}}
    89111   - Obtener los datos de la UO con identificador ''id1''.
    90112   - Método: GET.
    91    - Devuelve:
    92      - {{{ouid}}} (entero): identificador de la UO.
    93      - {{{ouname}}} (cadena): nombre de la UO.
     113   - Devuelve: objeto
     114     - {{{id}}} (entero): identificador de la UO.
     115     - {{{name}}} (cadena): nombre de la UO.
    94116     - {{{description}}} (cadena): descripción de la UO.
     117
     118 - {{{/ous/:id1/groups}}}
     119   '''(documentar)'''
    95120
    96121 - {{{/ous/:id1/labs}}}
    97122   - Listar las aulas definidas en la UO ''id1''.
    98123   - Método: GET.
    99    - Deveulve:
    100      - {{{ouid}}} (entero): identificador de la UO.
    101      - {{{labs}}} (array): datos de las aulas definidas, compuesta por:
    102        - {{{labid}}} (entero): identificador del aula.
    103        - {{{labname}}} (cadena): nombre del aula.
    104        - {{{inremotepc}}} (booleano): indica si los recursos del aula están disponibles para el Proyecto Remote PC.
     124   - Deveulve: array de objetos.
     125     - {{{id}}} (entero): identificador del aula.
     126     - {{{name}}} (cadena): nombre del aula.
     127     - {{{inremotepc}}} (booleano): indica si los recursos del aula están disponibles para el Proyecto Remote PC.
     128     - {{{group}}} (objeto): grupo al que pertenece el aula.
     129       - {{{id}}} (entero): identificador del grupo.
     130     - {{{ou}}} (objeto): UO a la que pertenece el aula.
     131       - {{{id}}} (entero): identificador de la UO.
    105132
    106133 - {{{/ous/:id1/labs/:id2}}}
    107134   - Obtener los datos del aula con identificador ''id2'' de la UO ''id1''.
    108135   - Método: GET.
    109    - Devuelve:
    110      - {{{labid}}} (entero): identificador del aula.
    111      - {{{labname}}} (cadena): nombre del aula.
     136   - Devuelve: objeto.
     137     - {{{id}}} (entero): identificador del aula.
     138     - {{{name}}} (cadena): nombre del aula.
     139     - {{{location}}} (cadena): datos de localización del aula.
    112140     - {{{description}}} (cadena): descripción del aula.
    113141     - {{{inremotepc}}} (booleano): indica si los recursos del aula están disponibles para el Proyecto Remote PC.
    114      - {{{maxclients}}} (entero): nº máximo de clientes del aula.
     142     - {{{capacity}}} (entero): aforo del aula.
    115143     - {{{defclients}}} (entero): nº de clientes definidos en el aula.
    116144     - {{{projector}}} (booleano): indica si el aula dispone o no de proyector.
     
    127155     - {{{p2pmode}}} (cadena): tipo de conexión P2P ({{{"peer"}}}, {{{"leecher"}}} o {{{"seeder"}}}).
    128156     - {{{p2ptime}}} (entero): tiempo de conexión tras finalizar la recepción P2P (en s.).
     157     - {{{picture}}} (cadena): fichero con foto del aula.
    129158
    130159 - {{{/ous/:id1/labs/:id2/clients}}}
    131160   - Listar los clientes definidos en el aula ''id2'' de la UO ''id1''.
    132161   - Método: GET.
    133    - Devuelve:
    134      - {{{ouid}}} (entero): identificador de la UO.
    135      - {{{labid}}} (entero): identificador del aula.
    136      - {{{clients}}} (array): datos de los clientes definidas, compuesta por:
    137        - {{{clientid}}} (entero): identificador del cliente.
    138        - {{{clientname}}} (cadena): nombre del cliente.
     162   - Devuelve: array de objetos.
     163     - {{{id}}} (entero): identificador del cliente.
     164     - {{{name}}} (cadena): nombre del cliente.
     165     - {{{mac}}} (cadena): dirección MAC de la interfaz de red (sin caracteres ":").
     166     - {{{ip}}} (cadena): dirección IP del cliente.
     167     - {{{ou}}} (objeto): OU a la que pertenecen.
     168       - {{{id}}} (entero): identificador de la UO.
     169     - {{{lab}}} (objeto): aula a la que pertenecen.
     170       - {{{id}}} (entero): identificador de la UO.
    139171
    140172 - {{{/ous/:id1/labs/:id2/clients/:id3}}}
    141173   - Obtener los datos del cliente con identificador ''id3'' del aula ''id2'' de la UO ''id1''.
    142174   - Método: GET.
    143    - Devuelve:
    144      - {{{clientid}}} (entero): identificador del cliente.
    145      - {{{clientname}}} (cadena): nombre del cliente.
     175   - Devuelve: objeto.
     176     - {{{id}}} (entero): identificador del cliente.
     177     - {{{name}}} (cadena): nombre del cliente.
     178     - {{{serialno}}} (cadena): nº de serie del cliente.
    146179     - {{{netiface}}} (cadena): interfaz de red por defecto.
    147180     - {{{netdriver}}} (cadena): driver (módulo a cargar) del interfaz de red (si {{{"generic"}}}, no se necesita cargar nada).
     
    150183     - {{{netmask}}} (cadena): máscara de red.
    151184     - {{{routerip}}} (cadena): dirección IP del router por defecto.
    152      - {{{repoid}}} (cadena): identificador del repositorio de imágenes.
    153    - Otros datos que pueden incluirse:
     185     - {{{repo}}} (objeto): repositorio de imágenes.
     186       - {{{id}}} (entero): identificador del repositorio.
     187     - {{{validation}}} (booleano): indica si se necesita autenticación para entrar en el menú del cliente.
    154188     - {{{boottype}}} (cadena): plantilla asociada para el arranque del equipo.
    155      - {{{hardprofid}}} (entero): identificador del perfil de hardware del cliente.
    156      - {{{menuid}}} (entero): identificador del menú de inicio del cliente.
    157      - {{{validation}}} (booleano): indica si se necesita autenticación para entrar en el menú del cliente.
     189     - {{{picture}}} (cadena): fichero con foto del cliente.
    158190
    159191 - {{{/ous/:id1/labs/:id2/clients/:id3/hardware}}}
    160192   - Obtener los datos del perfil de hardware con la lista de dispoistivos del cliente con identificador ''id3'' del aula ''id2'' de la UO ''id1''.
    161193   - Método: GET.
    162    - Devuelve:
    163      - {{{clientid}}} (entero): identificador del cliente.
    164      - {{{clientname}}} (cadena): nombre del cliente.
    165      - {{{hardware}}} (array): datos de los componentes hardware, compuesta por:
     194   - Devuelve: objeto.
     195     - {{{id}}} (entero): identificador del cliente.
     196     - {{{name}}} (cadena): nombre del cliente.
     197     - {{{hardware}}} (array de objetos): datos de los componentes hardware, compuesta por:
    166198       - {{{type}}} (cadena): tipo de componente, los valores se corresponden con el campo {{{nemonico}}} de la tabla {{{tipohardwares}}}.
    167199       - {{{description}}} (cadena): descripción del componente.