Diferència entre revisions de la pàgina «Web Services: exemple Escacs»
Salta a la navegació
Salta a la cerca
Línia 35: | Línia 35: | ||
|+ API | |+ API | ||
! Endpoint | ! Endpoint | ||
− | ! IN (GET o JSON) | + | ! IN (GET o POST+JSON) |
! OUT (JSON) | ! OUT (JSON) | ||
|- | |- | ||
Línia 47: | Línia 47: | ||
|- | |- | ||
| /juga | | /juga | ||
− | | ''uid_adversari'': uid de la persona amb qui ens volem enfrontar | + | | ''uid_adversari'': uid de la persona amb qui ens volem enfrontar<br>''uid_usuari'': la nostra uid |
| ''status'': ok/error<br>''msg'': detalls del error<br>''partida'': totes les dades de la partida | | ''status'': ok/error<br>''msg'': detalls del error<br>''partida'': totes les dades de la partida | ||
|- | |- |
Revisió del 18:52, 20 març 2015
Article anterior: Web Services
Objectius
Proposem un exercici amb web services. Volem fer un joc d'escacs disponible per diversos clients (aplicació browser desktop, aplicació mòbil, etc.)
En l'anterior article Web Services es proposa treballar amb MongoDB i utilitzar el framework CherryPy. Fes-li un cop d'ull per veure exemple pertinent.
Passem a especificar les diverses funcions que necessitem per implementar el WS:
Objectes del servei
Els objectes de més alt nivell (usuaris, partides) corresponen a les col·leccions de MongoDB.
- Usuari:
- uid
- Nick
- estat
- Partida:
- pid
- jugador_blanques: uid
- jugador_negres: uid
- fitxes: [] array amb les diverses peces del taulell i les seves posicions
- { color:'b', tipus:'peo', fila:2, col:3 }
- ...
- torn: nº de torn (parells=mou blanca, senars=mou negra)
- inici: data + hora d'inici de partida (timestamp)
Especificació
Endpoint | IN (GET o POST+JSON) | OUT (JSON) |
---|---|---|
/partida | pid: id de partida (GET) | status: ok/error msg: detalls del error partida: totes les dades de la partida |
/en_espera | status: ok/error msg: detalls del error usuaris: [] array d'usuaris en espera | |
/juga | uid_adversari: uid de la persona amb qui ens volem enfrontar uid_usuari: la nostra uid |
status: ok/error msg: detalls del error partida: totes les dades de la partida |
/login | nick: pseudònim de l'usuari email: adreça electrònica msg |
status: ok/error msg: detalls del error usuaris: [] array d'usuaris en espera |
/mou | pid: id de partida fila_inici col_inici fila_dst col_dst |
status: ok/error msg: detalls del error partida: totes les dades de la partida |
Recomanacions
- Instal·la mongodb, pymongo i cherrypy
- Fes un script que crei una partida amb les figures, etc.