javiervidrua / TWID-SOA

The complete architecture design for the TWID board game. Based on SOA, using RESTful services. LICENSE: https://jvr.mit-license.org/
MIT License
1 stars 0 forks source link

Acceso a Rusia/Turquía #2

Open rodrigoSantamaria opened 1 year ago

rodrigoSantamaria commented 1 year ago

Hola, Estos países tienen una región doble, por ejemplo para Rusia: Europe/Asia Se puede acceder a un país sin acceder antes a la región? Si no, cómo accedo a este país para implementar por ejemplo la carta 4? Lo digo porque esa barra puede darme problemas en una URL... Le podemos cambiar el formato para que sea Europe-Asia, o podemos hacer un endpoint que acceda por nombre de país sin más.

Yo veo mejor la segunda opción. Sea como sea, lo hago yo, no hace falta que te molestes, sólo quiero saber que no estoy haciendo nada mal.

javiervidrua commented 1 year ago

Hola @rodrigoSantamaria !

Sí, se puede acceder a cualquier país llamando al endpoint /game/{game}/board del servicio de recursos. Ahí está prácticamente el JSON completo y se puede buscar por país fácilmente con una comprensión de listas o con un filter sobre el objeto que devuelve el endpoint.

Otra opción es poner directamente la región del país en cuestión (tras buscar en el fichero board.json y ver a qué región corresponde), y usar el endpoint /game/{game}/board/map/{region}/{country}, que creo que es lo mejor y si no recuerdo mal es lo que yo he hecho para realizar la implementación del texto de la primera carta.

Acabo de mirar board.json y me he dado cuenta de que Rusia y Turquía tienen regiones mixtas: imagen imagen

De modo que habría que hacer una de dos cosas:

  1. Cambiar estas regiones por una de las definidas, haciendo que solo se pueda acceder por una región y que el país no tenga una región mixta: imagen
  2. Añadir estas regiones a las definidas y comprobar que nada se rompe tanto en el servicio de control como en el servicio de recursos, endpoint por endpoint. En principio no debería afectar al servicio de control y solo habría que testear el de recursos, pero siempre hay que revisar todo. Si hubiera escrito tests, esto sería pan comido.