Estoy usando el $.getJSON()
de jQuery para hacer llamadas asíncronas a mi backend Spring MVC simple. La mayoría de los métodos de controlador de primavera siguiente aspecto:¿Qué devolver si el método del controlador Spring MVC no devuelve el valor?
@RequestMapping(value = "/someURL", method = RequestMethod.POST)
public @ResponseBody SomePOJO getSomeData(@ModelAttribute Widget widget,
@RequestParam("type") String type) {
return someDAO.getSomeData(widget, type);
}
tengo cosas establecido de manera que cada controlador devuelve el @ResponseBody
como JSON, que es lo que espera el lado del cliente.
¿Pero qué sucede cuando se supone que una solicitud no devuelve ningún contenido al lado del cliente? ¿Puedo tener:
@RequestMapping(value = "/updateSomeData" method = RequestMethod.POST)
public @ResponseBody void updateDataThatDoesntRequireClientToBeNotified(...) {
...
}
Si no es así, ¿cuál es la sintaxis adecuada para usar aquí? ¡Gracias por adelantado!
Supongo que si no devuelve nada, ¿no se devolverá ningún contenido? – arahant
Creo que todavía devolvería un POJO de algún tipo, incluso si en la Versión 1 de su solución simplemente incluye un booleano "exitoso" o algo similar. Entonces tienes un patrón consistente en todos tus métodos AJAX, y algo que es más fácil de construir cuando resulta que * ¡debes * devolver algo! – millhouse
Contrariamente a lo que sugieren las respuestas, lo que primero tenía en su segundo fragmento está perfectamente bien y es la forma correcta de manejar datos 'POST'. –