Я не хочу объявлять аргумент HttpServletResponse в методе, я получаю объект ответа в LocalThread. Этот код работает хорошо, но пружина вызывает исключение, которое не найдено. Как избежать объявления аргумента HttpServletResponse и работать без предупреждения и ошибки.Как ответить json data в springmvc
[ВНИМАНИЕ] /bct/user/delete.do: java.io.FileNotFoundException: /WEB-INF/view/user/delete.jsp
@RequestMapping("/delete")
public void delete(String[] id) {
//userService.delete(id);
super.sendSuccess();
}
protected void sendSuccess(Object data, String msg) {
Map<String, Object> map = new HashMap<String, Object>();
if(data != null) {
map.put(KEY_DATA, data);
}
map.put(KEY_SUCCESS, true);
map.put(KEY_MSG, msg);
try {
//Jackson
mapper.writeValue(ServletHolder.getResponse().getOutputStream(), map);
} catch (Exception e) {
log.error("write json fail: " + map, e);
}
}
Я бы порекомендовал вам взглянуть на документацию Spring MVC о том, как создать спокойный веб-сервис: http://spring.io/guides/gs/rest-service/. Spring MVC автоматически обрабатывает преобразование объекта в его эквивалент JSON (при условии, что у вас есть Джексон как зависимость), когда вы используете @RestController. – alfredaday