Este documento está dirigido a programadores que deseen crear aplicaciones que puedan interactuar con Piscipedia. Aquí se explican conceptos básicos de Piscipedia y de la API. También proporciona una visión general de las diferentes funciones que la API admite.
Un recurso es una entidad de datos individual con un identificador exclusivo. En la tabla a continuación se describen los distintos tipos de recursos con los que puedes interactuar mediante la API.
| Tipo de recurso | Descripción |
|---|---|
| Pez | Consta de 2 propiedades: 'nombre' que indica el nombre del pez; y 'localizacion' que indica de donde procede el pez. |
En la siguiente tabla se muestran los métodos más comunes que la API admite.
| Verbo HTTP | URI | Descripción |
|---|---|---|
| GET | http://piscipedia.appspot.com/api/peces | Devuelve una vista de todos los peces disponibles en nuestra aplicación. |
| GET | http://piscipedia.appspot.com/api/peces/{nombre_pez} | Devuelve las caracteristicas del pez con ese nombre. Si el pez no existe debe devolver un "404 Not Found". |
| POST | http://piscipedia.appspot.com/api/peces | Permite añadir un nuevo pez para que este disponible en nuestra aplicación. Si se añade satisfactoriamente devuelve un "201 Created". Si el nombre o la localización del pez no son válidos debe devolver "400 Bad Request". |
| PUT | http://piscipedia.appspot.com/api/peces/{nombre_pez} | Permite actualizar/modificar las caracteristicas de un pez. Si se realiza correctamente debe devolver un "204 No Content". Si el pez no existe debe devolver "404 Not Found". Si ya existe un pez con el nuevo nombre debe devolver "400 Bad Request" |
| DELETE | http://piscipedia.appspot.com/api/peces/{nombre_pez} | Permite eliminar un pez. Si se realiza correctamente debe devolver "204 No Content". Si el pez no existe debe devolver "404 Not Found". |
En la siguiente tabla se muestran algunos ejemplos sobre el uso de nuestros métodos. Si tenemos un Mapa con los siguientes datos {("PEZ1": "local1"), ("PEZ2": "local1"),("PEZ3": "local2"),("PEZ4": "local3")}
| Metodo | ACIERTO/FALLO | Salida |
|---|---|---|
| GET | Acierto | [4] 0: "PEZ1" 1: "PEZ2" 2: "PEZ3" 3: "PEZ4" |
| GET | Acierto | {nombre_pez} = PEZ1, devolvera {"nombre":"PEZ1","localizacion":"local1"} |
| Fallo | {nombre_pez} = PEZ100, devolvera Error 404 El pez PEZ100 no fue encontrado. | |
| POST | Acierto | {"nombre":"PEZ70","localizacion":"local70"} devolvera 201 Created |
| Fallo | Error 400 El pez PEZ100 no fue añadido | |
| PUT | Acierto | {nombre_pez}=PEZ1, devolvera 204 Not Content. |
| Fallo | {nombre_pez}=PEZ20, devolvera Error 404 El pez PEZ20 no fue encontrado. | |
| DELETE | Acierto | {nombre_pez} = PEZ1, devolvera 204 No Content. |
| Fallo | {nombre_pez} = PEZ50, devolvera Error 404 El pez PEZ50 no fue encontrado. |