tengo la siguiente petición GET:Spring 3 MVC - parámetros de la petición mapa con el prefijo a un solo grano de
/api/search?filter.operation=Ping&filter.namespace=
Tenga en cuenta los nombres de los parámetros incluyen un prefijo (operación filtro, filtro.. namespace).
Entonces, tengo el siguiente frijol quiero usar para recibir esos parámetros:
class MessageSearchFilter {
String operation;
String namespace;
...
}
y el método manejador tiene la siguiente firma:
public @ResponseBody String searchMessages(MessageSearchFilter filter, ...);
Sin embargo, esto no lo hace Trabajar como Spring MVC espera que los atributos 'operación' y 'espacio de nombres' se nombren exactamente así. Funciona si cambio mi solicitud para usar 'operation' y 'namespace' (sin el prefijo 'filter.').
¿Hay alguna manera en que pueda decirle a Spring que espere que los parámetros tengan el prefijo 'filtro'?
Una pregunta adicional relacionada con esto es, ¿qué sucede si tengo una firma de método con varios objetos de formulario con nombres de propiedades que colisionan?
Gracias, sin embargo, estaba buscando una forma de evitar crear y establecer valores de bean manualmente. Esperaría que esto funcionara de alguna manera porque Spring hace esto correctamente para beans anidados. – jjmontes
También estoy interesado si hay una forma de primavera para inyectar directamente esas propiedades en el frijol? – davorp