leobz / Organize-matches

Football match management web service: Java, React, MongoDB, Telegram Bot, Vegeta load tests, Certbot and AWS.
MIT License
0 stars 0 forks source link

8 modelar dominio para gestionar partidos #15

Closed juan-nisimura closed 2 years ago

juan-nisimura commented 2 years ago

Faltan algunas cosas, pero quería que tengan el código base para no atrasar con el resto:

juan-nisimura commented 2 years ago

Ahí lo cambié usando ResponseStatusExceptionResolver. Se arroja la excepción y después spring la atrapa para devolver el response status. Lo probé medio a mano, pero también funciona con listas vacías.

juan-nisimura commented 2 years ago

Me estoy tratando de convencer el manejo de una única lista de players, con dos abstracciones de "startingPlayers" o "substitutePlayers". Me parece que va bien eso. Temo que el hecho de tener un Dto , una clase de dominio y un builder, que si bien parece copado, pequemos un poco de sobrediseño que nos mareemos y terminemos ignorando el Dto y usando la clase de dominio directamente. Pero lo dejo a discusión del equipo

Para aclarar un poco, yo también dudaba en usar el DTO, pero fue más necesidad que una decisión de diseño. Lo que ocurría es que el servidor devolvía siempre un estado de respuesta 500 cuando el objeto no era un POJO como el caso de la clase Match, que agrega métodos que no son getters. Para evitar el error, tuve que usar el DTO.

FranCICSo commented 2 years ago

Me estoy tratando de convencer el manejo de una única lista de players, con dos abstracciones de "startingPlayers" o "substitutePlayers". Me parece que va bien eso. Temo que el hecho de tener un Dto , una clase de dominio y un builder, que si bien parece copado, pequemos un poco de sobrediseño que nos mareemos y terminemos ignorando el Dto y usando la clase de dominio directamente. Pero lo dejo a discusión del equipo

Para aclarar un poco, yo también dudaba en usar el DTO, pero fue más necesidad que una decisión de diseño. Lo que ocurría es que el servidor devolvía siempre un estado de respuesta 500 cuando el objeto no era un POJO como el caso de la clase Match, que agrega métodos que no son getters. Para evitar el error, tuve que usar el DTO.

Bien. Estaba revisando proyectos del laburo y hay algunos que en vez de DTO usan un objeto POJO llamado "Response", así que estaríamos en la misma. Si el Dto justamente lo usamos para transferir datos, debería estar bien. Otras clases de dominio tienen un ObjectNode y ese Json es el que se devuelve, pero por ahora no lo veo necesario