Saltar al contenido

Estado HTTP 405: el método de solicitud ‘POST’ no es compatible (Spring MVC)

Este equipo especializado pasados algunos días de trabajo y de recopilar de datos, han obtenido los datos necesarios, queremos que resulte de gran utilidad para tu plan.

Solución:

No estoy seguro de si esto ayuda, pero tuve el mismo problema.

Está utilizando springSecurityFilterChain con protección CSRF. Eso significa que debe enviar un token cuando envía un formulario a través de una solicitud POST. Intente agregar la siguiente entrada a su formulario:


Compruebe si está devolviendo un @ResponseBody o un @ResponseStatus

Tuve un problema similar. Mi controlador se veía así:

@RequestMapping(value="/user", method = RequestMethod.POST)
public String updateUser(@RequestBody User user)
    return userService.updateUser(user).getId();

Al llamar con una solicitud POST, siempre recibí el siguiente error:

Estado HTTP 405: el método de solicitud ‘POST’ no es compatible

Después de un tiempo, descubrí que el método en realidad se llamó, pero debido a que no hay @ResponseBody ni @ResponseStatus, Spring MVC genera el error.

Para solucionar esto, simplemente agregue un @ResponseBody

@RequestMapping(value="/user", method = RequestMethod.POST)
public @ResponseBody String updateUser(@RequestBody User user)
    return userService.updateUser(user).getId();

o un @ResponseStatus a su método.

@RequestMapping(value="/user", method = RequestMethod.POST)
@ResponseStatus(value=HttpStatus.OK)
public String updateUser(@RequestBody User user)
    return userService.updateUser(user).getId();

Es posible que deba cambiar la línea

@RequestMapping(value = "/add", method = RequestMethod.GET)

a

@RequestMapping(value = "/add", method = RequestMethod.GET,RequestMethod.POST)

Aquí tienes las comentarios y puntuaciones

Si te gusta el tema, tienes el poder dejar un ensayo acerca de qué le añadirías a este post.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *