Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time

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.

EJEMPLOS
http://bookmania-aiss.appspot.com/api/books?order=price
http://bookmania-aiss.appspot.com/api/books?order=-price
http://bookmania-aiss.appspot.com/api/books?order=pages
http://bookmania-aiss.appspot.com/api/books?order=-pages

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.