Protocolo de comunicación - UNIZAR-30248-2015-GPS-Fooding/Server GitHub Wiki
Servidor y cliente intercambiarán información a través de XML. Las peticiones del cliente y las respuestas del servidor tendrán un identificador para distinguir las distintas peticiones:
- Si el usuario quiere la lista de ingredientes disponibles, id=0
- Si el usuario quiere información de una receta, id=1
- Si el usuario quiere información de usuarios, id=2
- Si el usuario quiere información de grupos, id=3
- Si el usuario quiere la lista de tipos, id=4
- Si se quiere registrar a un usuario, id=5
- Si se quiere loguear a un usuario, id=6
- Si el usuario quiere publicar una nueva receta, id=7
- Si el usuario quiere valorar una receta, id=8
- Si el usuario quiere ver la valoración media de una receta, id=9
- Si el usuario quiere la lista de usuarios, id=10
- Si el usuario quiere la lista de recetas, id=11
- Si el usuario quiere su lista de recetas favoritas, id=12
- Si el usuario quiere marcar como favorita una receta, id=13
- Si el usuario quiere comprobar si una receta es favorita, id=14
Las peticiones del cliente tendrán el siguiente formato:
<request id=”identificador”> información de la consulta </request>
El servidor responderá de la siguiente forma:
<response id=”identificador”> información de la BD acerca de la consulta </response>
<request id=”0”> </request>
<response id=”0”> <ingrediente>nombre</ingrediente> <ingrediente>nombre</ingrediente> ... </response>
<request id=”1”> <id>id</id> <test>yes|no</test> </request>
<response id=”1”> <id>id</id> <nombre>nombre</nombre> <tipo>tipo</tipo> <instrucciones>instrucciones</instrucciones> <nick_autor>nick_autor</nick_autor> <mail_autor>mail_autor</mail_autor> <me_gusta>número</me_gusta> <no_me_gusta>número</no_me_gusta> <ingrediente cantidad=”no” uds=”uds”>nombre</ingrediente>... </response>
<request id=”4”> </request>
<response id=”4”> <tipo>nombre</tipo> <tipo>nombre</tipo> ... </response>
<request id=”2”> <mail>mail</mail> <test>yes|no</test> </request>
<response id=”2”> <mail>mail</mail> <nick>nick</nick> <score>numero</score> <receta id="numero">nombre</receta> </response>
<request id=”5”> <mail>mail</mail> <nick>nick</nick> <pw>pw</pw> <test>yes|no</test> </request>
<response id=”5”> <hecho>yes|no</response> </response>
<request id=”6”> <mail>mail</mail> <pw>pw</pw> <test>yes|no</test>
<response id=”6”> <hecho>yes|no</hecho> </response>
<request id=”7”> <mail>mail</mail> <nombre>nombre</nombre> <tipo>tipo</tipo> <instrucciones>instrucciones</instrucciones> <ingrediente cantidad=”no” uds=”uds”>nombre</ingrediente> <test>yes|no</test> </request>
<response id=”7”> <hecho>yes|no</hecho> </response>
<request id=”8”> <id>i</id> <mail>mail</mail> <voto>+1/-1</voto> <test>yes|no</test> </request>
<response id=”8”> <hecho>yes|no</hecho> </response>
<request id=”9”> <id>i</id> <test>yes|no</test> </request>
<response id=”9”> <valoracion>numero real</valoracion> </response>
<request id=”11”> <nombre>nombre</nombre> <tipo>tipo</tipo> <ingrediente>ingrediente</ingrediente> ... <test>yes|no</test> </request>
<response id=”11”> <receta> <id>id</id> <nombre>nombre</nombre> <tipo>tipo</tipo> <me_gusta>número</me_gusta> <no_me_gusta>número</no_me_gusta> </receta> </response>
<request id=”10”> <nick>nick</nick> <test>yes|no</test> </request>
<response id=”10”> <usuario> <mail>mail</mail> <nick>nick</nick> <score>numero</score> </usuario> </response>
<request id=”12”> <mail>mail</mail> <test>yes|no</test> </request>
<response id=”12”> <receta> <id>id</id> <nombre>nombre</nombre> <tipo>tipo</tipo> <me_gusta>número</me_gusta> <no_me_gusta>número</no_me_gusta> </receta> </response>
<request id=”13”> <mail>mail</mail> <id>id</id> <test>yes|no</test> </request>
<response id=”13”> <hecho>yes|no</hecho> </response>
<request id=”14”> <mail>mail</mail> <id>id</id> <test>yes|no</test> </request>
<response id=”14”> <favorita>yes|no</favorita> </response>