AYUDA PARA LA IMPORTACIÓN DEL PROYECTO Y USO
1º Copia el enlace del proyecto
2º En eclipse-> File>Import>Git>Proyects from git
3º Clone URI
4º Colocar repositorio en lugar donde no haga conflicto
5º Darle a la opción de que te importe los proyectos del repositorio
Para el uso, hacer lo de siempre,(en Git Staging) arrastrar los cambios a staged changes, nombras el commit, y haces commit y/o push
Open Api Specification
Echale un vistazo a las peticiones en Swagger UI, están muy bien detalladas. Describe los metodos y filtros que se pueden usar y los CODIGOS DE RESPUESTA
Consumir nuestra API REST
La API REST esta formada por tres recursos books,bookshops, y eventos.
El contrato de servicios de de cada recurso se detalla a continuación.
Recurso Book
Tipo | Nombre | Descripción |
---|---|---|
String | id | identificador autoasignado |
String | name | nombre |
String | author | autor |
String | description | descripción |
Double | price | precio |
Set < Categories > | categories | conjunto de categorías (enumerado) |
Integer | pages | numero de páginas |
HTTP | URI | Descripción |
---|---|---|
GET | /books | Devuelve todos los libros existentes. |
GET | /books/{bookId} | Devuelve el libro con id=bookId. |
POST | /books | Añade un nuevo libro |
PUT | /books | Actualiza el libro del cuerpo de la petición |
DELETE | /books/{bookId} | Elimina el libro con id=bookId. |
La representación JSON del recurso es:
"id": "b53",
"title": "Fantastic Four: Rise of the Silver Surfer",
"author": "Revkah Sopp",
"description": "At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident; similique sunt in culpa qui officia deserunt mollitia animi; id est laborum et dolorum fuga.",
"price": 20.7,
"categories": [
"DRAMA",
"ACCION"
],
"pages": 230
}
Operaciones para el recurso Book.
Filtrado Para realizar el filtrado ponemos la clave q y el valor de esta por el que queramos filtrar.
FILTRO | DESCRIPCIÓN | EJEMPLO |
---|---|---|
Nombre | El usuario podrá buscar el libro que le interesa introduciendo el titulo de este. | http://bookmania-aiss.appspot.com/api/books?q=Head Over Heels |
Autor | El usuario podrá buscar el libro que le interesa introduciendo el autor de este. | http://bookmania-aiss.appspot.com/api/books?q=Marta Webley |
Categoría | El usuario podrá elegir la categoría o categorías que le interese en MAYUSCULAS y se le mostrará todos los libros que pertenezcan a dicha categoría | http://bookmania-aiss.appspot.com/api/books?category=DRAMA |
Ordenación El usuario introducirá el precio o el número de paginas por el que quiere ordenar. Para hacer la ordenación tendra que ponerle el parametro order y el valor por el que quiera filtrar,se puede ordenar de forma ascendente o descendente.Para hacerlo de forma descendente se tiene que poner "-" antes del nombre.
Paginación y limitación El usuario podrá establecer un límite a su búsqueda de libros y establecer desde qué posición querrá empezar a buscar.
EJEMPLO | DESCRIPCION |
---|---|
http://bookmania-aiss.appspot.com/api/books?limit=15&offset=2 | Devuelve 15 libros empezando por la segunda posición. |
Recurso BookShop
HTTP | URI | Descripción |
---|---|---|
GET | /bookshop | Ver todas las librerias existentes. |
GET | /bookshop/{bookshopId} | Devuelve la bookshop con id=shopId. |
POST | /bookshop | Añadir una nueva bookshop. |
PUT | /bookshop | Actualiza la libreria del cuerpo de la petición. |
DELETE | /bookshop/{bookshopId} | Elimina la bookshop con id=shopId |
POST | /bookshop/{bookshopId}/{bookId} | Añade el libro con id=bookId a la libreria con id=shopId. |
DELETE | /bookshop/{bookshopId}/{bookId} | Elimina el libro con id=bookId de la bookshop con id=shopId. |
Tipo | Nombre | Descripción |
---|---|---|
String | id | identificador autoasignado |
String | name | nombre |
String | street | direccion |
Provinces | province | provicia (enumerado) |
Set < Book > | books | conjunto de libros disponibles en la libreria |
OpeningHours | openingHours | horario de apertura |
{
"id": "s11",
"name": "Otcom BookShop",
"street": "Magdeline Point 22",
"province": "GRANADA",
"books": [
...
],
"openingHours": {
"monday": "9:00,19:00",
"tuesday": "9:00,19:00",
"wednesday": "9:00,19:00",
"thursday": "9:00,19:00",
"friday": "9:00,19:00",
"saturday": "10:00,14:00",
"sunday": "10:00,14:00"
}
ojo! books tiene un set de libros que no mostramos por compactar el ejemplo
Operaciones para el recurso BookShop.
Filtrado
FILTRO | DESCRIPCIÓN | EJEMPLO |
---|---|---|
Provincia | El usuario podrá buscar la libreria que le interesa introduciendo la provincia de este en MAYUSCULAS. | http://bookmania-aiss.appspot.com/api/bookshops?province=SEVILLA |
Autonomia | El usuario podrá buscar la libreria que le interesa introduciendo la autonomia de este en MAYUSCULAS. | http://bookmania-aiss.appspot.com/api/bookshops?autonomie=ANDALUCIA |
Nombre | El usuario podrá buscar la libreria que le interesa introduciendo el nombre de de esta. | http://bookmania-aiss.appspot.com/api/bookshops?q=Gembucket BookShop |
Calle | El usuario podrá buscar la libreria que le interesa introduciendo la calle donde esta situada. | http://bookmania-aiss.appspot.com/api/bookshops?q=Aberg Point 52 |
Ordenación El usuario introducirá Cantidad de libros por la quiere ordenar. Para hacer la ordenación tendra que ponerle el parametro order y el valor por el que quiera filtrar,se puede ordenar de forma ascendente o descendente segun si utiliza "+" o "-" al poner el valor.
EJEMPLOS |
---|
http://bookmania-aiss.appspot.com/api/bookshops?order=quantity |
http://bookmania-aiss.appspot.com/api/bookshops?order=-quantity |
Paginación y limitación El usuario podrá establecer un límite a su búsqueda de librerías y establecer desde qué posición querrá empezar a buscar.
EJEMPLO | DESCRIPCION |
---|---|
http://bookmania-aiss.appspot.com/api/bookshops?offset=2&limit=15 | Devuelve 15 librerías empezando por la segunda posición. |
Recurso Event
Recurso Event
HTTP | URI | Descripción |
---|---|---|
GET | /events | Ver todos los eventos existentes. |
POST | /events | Añadir un nuevo evento |
PUT | /events | Actualiza el evento del cuerpo de la petición. |
DELETE | /events/{eventId} | Elimina el evento con id=eventId. |
POST | /events/{eventId}/{bookshopId} | Añade la bookshop con id=shopId al evento con id=eventId. |
DELETE | /events/{eventId}/{bookshopId} | Elimina la bookshop con id=shopId del evento con id=eventId.. |
Tipo | Nombre | Descripción |
---|---|---|
String | id | identificador autoasignado |
String | name | nombre |
String | description | descripción |
Set < BookShops > | bookShops | conjunto de librerias donde se realizará el evento |
LocalDate | startingDate | fecha de inicio del evento |
LocalDate | endingDate | fecha de finalización del evento |
State | state | estado (enumerado) |
{
"id": "e8",
"name": "Book day-8",
"description": "Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae.",
"places": [
...
],
"startingDate": "2022-05-10",
"endingDate": "2023-06-10",
"state": "STARTED"
}
ojo! places tiene un set de librerias que no mostramos por campactar el ejemplo
Operaciones para el recurso Event.
Filtrado
FILTRO | DESCRIPCIÓN | EJEMPLO |
---|---|---|
Estado | El usuario podrá buscar si todavía sigue activo el evento que le interesa introduciendo el estado de este en MAYUSCULAS. | http://bookmania-aiss.appspot.com/api/events?state=FINISHED |
Nombre | El usuario podrá buscar el evento que le interesa introduciendo el nombre de este. | http://bookmania-aiss.appspot.com/api/events?q=Book day-8 |
Descripción | El usuario podrá buscar el evento que le interesa introduciendo la descripción de este. | http://bookmania-aiss.appspot.com/api/events?q=omnis |
Ordenación Fecha de creación: El usuario podrá ordenar los eventos según la fecha de creación, de esta forma podrá visualizar los eventos más recientes como los más antiguos.
EJEMPLOS |
---|
http://bookmania-aiss.appspot.com/api/events?order=originDate |
http://bookmania-aiss.appspot.com/api/events?order=-originDate |
Paginación y limitación El usuario podrá establecer un límite a su búsqueda de eventos y establecer desde qué posición querrá empezar a buscar.
EJEMPLOS | DESCRIPCION |
---|---|
http://www.bookmania-aiss.appspot.com/api/events?limit=15&offset=2 | Devuelve 15 eventos empezando por la segunda posición. |