En aplicaciones web, HTTP GET se usa generalmente para obtener datos de la base de datos, mientras que POST desencadena una acción como la compra de un artículo. Por lo tanto, no desea activar una solicitud de publicación más de una vez.
Una advertencia en la página, o deshabilitar el botón en la página una vez que se presiona también podría ayudar. Sin embargo, lo que realmente está buscando es implementar el patrón post-redirect-get (PRG). Esto permite que la solicitud posterior realice su trabajo y luego desvíe la respuesta a una solicitud de obtención.
El PRG se describe aquí Post / Redirect / Get – Wikipedia. En resumen, PRG se describe como:
- ¿Qué herramientas debo usar para el desarrollo de aplicaciones web?
- ¿Debo desarrollar mi aplicación web en Node.js o Ruby on Rails?
- ¿Qué es una aplicación de una sola página (SPA) en el marco de AngularJS?
- ¿Cuál es la arquitectura ideal para una API que necesitará manejar miles de solicitudes por segundo?
- ¿Cuál es la diferencia entre aplicaciones web progresivas y aplicaciones híbridas?
Donde puede ver la redirección de página que se utiliza para llamar explícitamente a otra página. Esto usará HTTP GET por defecto.
El siguiente código demuestra esto en primavera:
// Elimina un libro.
@RequestMapping (value = “/ postDeleteBook”, method = RequestMethod.POST)
public String postDeleteBook (@RequestParam (“bookId”) String bookId,
Modelo modelo) {
bookService.delete (Integer.parseInt (bookId));
devuelve “redirect: / admin / getCatalogue”;
}
A través de la redirección en la línea 7 que utiliza un HTTP GET por defecto.