Skip to content

Latest commit

 

History

History
219 lines (173 loc) · 6.82 KB

API.md

File metadata and controls

219 lines (173 loc) · 6.82 KB

urTeam - DOCUMENTACIÓN API

Eventos

  • Público
Método URL Descripcion Respuesta Error
GET /api/events/ Devuelve los eventos. 200 OK  404 NOT FOUND
GET /api/events/?page=3&size=2 Devuelve los eventos paginados. 200 OK  404 NOT FOUND
GET /api/events/{id} Devuelve el evento específico. 200 OK 404 NOT FOUND
GET /api/events/{id}/members Devuelve los miembros de ese evento. 200 OK 404 NOT FOUND
  • Privado (El usuario debe estar logueado para poder realizar el método)
Método URL Descripcion Respuesta Error
POST /api/events/ Crea el evento con los datos del body. 200 OK 400 BAD REQUEST
PUT /api/events/{id} Modifica el evento específico. 200 OK 404 NOT FOUND 401 UNAUTHORIZED
PUT /api/events/{id}/members El usuario logueado sigue o deja de seguir al evento específico 200 OK 404 NOT FOUND
DELETE /api/events/{id} El evento específico es borrado 204 NO CONTENT 401 UNAUTHORIZED

Nota: El método DELETE es de uso exclusivo para el role admin.

Ejemplos de peticiones

POST /api/events/

Body:

        {
          "name": "Evento",
          "sport": "Mountain Bike",
          "price": 1,
          "place": "Universidad Rey Juan Carlos I",
          "start_date": "2017-04-30",
          "end_date": "2017-11-02"
        }

PUT /api/events/{id}

Body:

        {
          "name": "Nuevo_Evento",
          "sport": "Mountain Bike",
          "price": 2,
          "place": "Universidad Rey Juan Carlos I",
          "start_date": "2017-04-31",
          "end_date": "2017-11-03"
        }

Comunidades

  • Privado (El usuario debe estar logueado para poder realizar el método)
Método URL Descripcion Respuesta Error
GET /api/groups/ Devuelve los grupos. 200 OK  404 NOT FOUND
GET /api/groups/?page=3&size=2&sort=sport Devuelve los grupos paginados y ordenados. 200 OK  404 NOT FOUND
GET /api/groups/{id} Devuelve el grupo específico. 200 OK 404 NOT FOUND
POST /api/groups/ Crea el grupo con los datos del body. 200 OK 400 BAD REQUEST
PUT /api/groups/{id} Modifica el evento específico. 200 OK 404 NOT FOUND 401 UNAUTHORIZED
POST /api/groups/{id}/news Añade una noticia a un grupo 200 OK 404 NOT FOUND 401 UNAUTHORIZED
GET /api/groups/{id}/news Devuelve las noticias de un grupo. 200 OK 404 NOT FOUND
PUT /api/groups/{id}/followers El usuario logueado sigue o deja de seguir a la comunidad específica 200 OK 404 NOT FOUND
DELETE /api/groups/{id} El grupo específico es borrado 204 NO CONTENT 401 UNAUTHORIZED

Nota: El método DELETE es de uso exclusivo para el role admin.

Ejemplos de peticiones

POST /api/groups/

Body:

        {
              "name": "ExampleName",
              "city": "Madrid",
              "sport": "Mountain Bike",
              "info": "Info about community."   
        }

PUT /api/groups/{id}

Body:

        {
              "name": "ExampleName",
              "city": "Madrid",
              "sport": "Mountain Bike",
              "info": "Info about community."   
        }

POST /api/groups/news

Body:

        {
              "title": "Example news title",
              "text": "Info about news."   
        }

Usuario

  • Privado (El usuario debe estar logueado para poder realizar el método)
Método URL Descripcion Respuesta Error
GET /api/users/ Devuelve los usuarios. 200 OK  404 NOT FOUND
POST /api/users/ Crea un usuario nuevo. 200 OK  400 BAD REQUEST
GET /api/users/{nickname} Devuelve un usuario específico. 200 OK  404 NOT FOUND
PUT /api/users/{nickname} Modifica un usuario específico. 200 OK  404 NOT FOUND
GET /api/users/{nickname}/friends Devuelve los amigos de un usuario. 200 OK  404 NOT FOUND
PUT /api/users/{nickname}/friends Añade al usuario logueado a la lista del usuario. 200 OK  400 BAD REQUEST
PUT /api/users/{nickname}/avatar Añade un avatar al usuario. 200 OK  400 BAD REQUEST
GET /api/users/{nickname}/followers Devuelve los seguidores de un usuario. 200 OK  404 NOT FOUND

Ejemplos de peticiones

POST /api/users/

Body:

        {
           "nickname": "ExampleName",
           "password": "ExamplePassword",  
        }

PUT /api/users/{nickname}

Body:

        {
            "id": 2,
            "username": "Example",
            "surname": "Example",
            "nickname": "user1",
            "city": "city1",
            "score": "0",  
        }

PUT | /api/users/{nickname}/avatar

Body:

file

Estadísticas

  • Privado (El usuario debe estar logueado para poder realizar el método)
Método URL Descripcion Respuesta Error
GET /api/stats/{nickname} Devuelve las estadisticas de un usuario. 200 OK  404 NOT FOUND
POST /api/stats/{nickname}/{sportName} Añade una nueva estadistica a un usuario. 200 OK  404 NOT FOUND

Ejemplos de peticiones

POST /api/stats/{nickname}/{sportName}

Body:

    {
        "totalSesionTime": 4,
        "date": "2017-04-12"
    }

Deportes

  • Privado (El usuario debe estar logueado para poder realizar el método)
Método URL Descripcion Respuesta Error
GET /api/sports/ Devuelve los deportes. 200 OK  404 NOT FOUND
POST /api/sports/ Añade un deporte nuevo. 200 OK  404 NOT FOUND
GET /api/sports/{sportName} Devuelve los datos de un deporte. 200 OK  404 NOT FOUND
PUT /api/sports/{sportName} Modifica un deporte. 200 OK  404 NOT FOUND
DELETE /api/sports/{sportName} Elimina un deporte. 200 OK  404 NOT FOUND

Ejemplos de peticiones

POST /api/sports/

Body:

    {
       "name": "ExampleName",
       "multiplicator": "ExamplePassword",  
    }

PUT /api/sports/{sportName}

Body:

     {
       "id": 1,
       "name": "ExampleName",
       "multiplicator": 0.75
    }

Buscador

  • Privado (El usuario debe estar logueado para poder realizar el método)
Método URL Descripcion Respuesta Error
GET /api/searchbox/users/{criteria} Devuelve los resultados por usuarios. 200 OK  404 NOT FOUND
GET /api/searchbox/events/{criteria} Devuelve los resultados por eventos. 200 OK  404 NOT FOUND
GET /api/searchbox/groups/{criteria} Devuelve los resultados por grupos. 200 OK  404 NOT FOUND
GET /api/searchbox/all/{criteria} Devuelve los resultados para todos. 200 OK  404 NOT FOUND