Estoy corriendo una aplicación web en la primavera de MVC Web 3.0 y tengo una serie de métodos de controlador cuyas firmas son aproximadamente como sigue:primavera Web MVC - validar la petición individual params
@RequestMapping(value = "/{level1}/{level2}/foo", method = RequestMethod.POST)
public ModelAndView createFoo(@PathVariable long level1,
@PathVariable long level2,
@RequestParam("foo_name") String fooname,
@RequestParam(value = "description", required = false) String description);
me gustaría añadir alguna validación, por ejemplo, description
debe limitarse a una cierta longitud o fooname
solo debe contener ciertos caracteres. Si esta validación falla, quiero devolver un mensaje al usuario en lugar de lanzar una excepción sin marcar (lo que sucedería de todos modos si dejo que los datos bajen a la capa DAO). Soy consciente de JSR303 pero no he trabajado con él y no entiendo cómo aplicarlo en un contexto de primavera.
Por lo que entiendo, otra opción sería vincular el @RequestBody
a un objeto de dominio completo y agregar restricciones de validación allí, pero actualmente mi código está configurado para aceptar parámetros individuales como se muestra arriba.
¿Cuál es la forma más directa de aplicar la validación a los parámetros de entrada usando este enfoque?
me gustaría probar usando javax.validation anotaciones allí y ver si funciona. No sé si lo hace :) – Bozho
¿Puedes dar más detalles? ¿Usaría la anotación en la declaración del parámetro como lo hago con '@ RequestParam'? – Dan
Además, esta no es una aplicación Java EE y no se ejecuta en un contenedor Java EE, es solo una aplicación web dinámica que se ejecuta en un contenedor de servlets. – Dan