/Agents_e3a

Agents module

Primary LanguageJavaThe UnlicenseUnlicense

Codacy Badge Build Status codecov

Agents e3a

Agents

Authors

  • Herminio García González (@herminiogg)
  • Jose Emilio Labra Gayo (@labra)
  • Sergio Flórez Vallina (@zerolfer)
  • Rubén García Ruiz (@RubenGarciaR)
  • Sonia Gestal Huelga (@sonia94)
  • Luis Irazusta Lorenzo (@Fuegon)

  • Saúl Castillo Valdés (@saulcasti)
  • Pelayo Díaz Soto (@PelayoDiaz)
  • Amelia Fernández Braña (@ameliafb)
  • Francisco Javier Riedemann Wistuba (@FJss23)

Funcionamiento:

Ejecución del código

  1. Para compilar el código utilizar la orden: mvn compile
  2. Para ejecutarlo utilizamos: mvn spring-boot:run
  3. Para comprobar el funcionamiento de los test: mvn test

Interfaz HTML

  1. Escribir en el navegador: http://localhost:8080/
  2. Proporcionar los datos de login para los usuarios disponibles:
  • Login: juan; Password: 1234; Kind: person
  • Login: pedro; Password: 1234; Kind: entity
  • Login: raul; Password: 1234; Kind: sensor
  1. Aparecerá la pantalla que muestra los datos del usuario
  • Se puede modificar el email (se comprueba si el email es valido)
  • Se puede ir a la pantalla de cambio de contraseña
  1. Cambio de contraseña:
  • Escribir la contreseña antigua
  • Escribir la nueva contraseña

Servicio REST

El punto de entrada se encuentra en http://localhost:8080/user.

Acepta peticiones POST en formato JSON con el contenido: {"login":"usuario", "password":"password", "kind": tipo de agente} (Se puede probar en el Advanced REST Client de Google)

Devuelve la informacion del usuario si las credenciales en formato JSON o XML segun se indique en la cabecera de la petición.

Si los datos no son correctos se devuelve un error HTTP 404. Si los parametros no son correctos se devuelve un codigo de error HTTP 406.

Formato de retorn JSON

{ 
   "name": Nombre,
   "location": Coordenadas (opcional),
   "email": Email
   "id": identificador,
   "kind": tipo de usuario,
   "kindCode": código numérico del tipo de usuario,
}

Formato retorno XML

<LoaderMin>
    <name>Nombre</name>
    <location>Coordenadas</location> (opcional)
    <email>Email</email>
    <id>Identiicador</id>
    <kind>tipo de usuario</kind>
    <kindCode>código numérico del tipo de usuario</kindCode>
</LoaderMin>