Tengo un problema con la captura de la solicitud PUT enviada al servidor.Spring Framework, habilite el método PUT
Estos son mis métodos:
@RequestMapping(method= RequestMethod.GET)
public String getCity(@PathVariable(value="cid") String cid, @RequestParam(value="State") Integer state, Model model) {
System.out.println("get request");
return "index";
}
@RequestMapping(method= RequestMethod.PUT)
public String putCity(@PathVariable(value="cid") String cid, @RequestParam(value="State") Integer state, Model model) {
System.out.println("put request");
return "index";
}
Cuando tracé la llamada, mi solicitud PUT fue manejado por el método GET y no por método PUT en mi clase .. en salir de la pantalla, que siempre se lee como "llegar solicitud". Revisé el registro del navegador y confirmó que enviaron la solicitud PUT correcta, así que creo que olvidé la configuración de Spring aquí, pero no sé qué es ...
¿Alguien puede ayudarme?
Gracias.
EDIT: Código adicional con la clase:
@Controller
@RequestMapping(value="/retail/{cid}/master/city")
public class City {
@RequestMapping(value="/foo1", method= RequestMethod.GET)
public String getCity(@PathVariable(value="cid") String cid, @RequestParam(value="State") Integer state, Model model) {
System.out.println("get request");
return "index";
}
@RequestMapping(value="/foo2", method= RequestMethod.PUT)
public String putCity(@PathVariable(value="cid") String cid, @RequestParam(value="State") Integer state, Model model) {
System.out.println("put request");
return "index";
}
}
Edit2: Lo sentimos, parece que no lo hice muy minucioso al examinar el registro .. Cogí esta advertencia dos veces.
WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor
ideas para solucionarlo?
Si se invoca 'getCity', entonces la solicitud es un método' GET'. No se requieren configuraciones adicionales, debe enviar el tipo incorrecto de solicitud. ¿Estás seguro de que tu cliente está haciendo lo correcto? – skaffman
sí ... Estoy seguro de que el cliente estaba haciendo lo correcto. Se estaba iniciando sesión en la consola. Intenté con Chrome y Firefox, y ambos enviaron la solicitud PUT. – Magician
Agregue un parámetro 'HttpServletRequest' a' getCity', luego registre 'request.getMethod()', y vea lo que dice. – skaffman