Может ли метод Controller, возвращающий void, создать JSON? - PullRequest
3 голосов
/ 08 ноября 2011

Обычно, чтобы вернуть JSON из моих методов Controllers, я добавляю аннотацию @ResponseBody и позволяю Джексону отобразить мой возвращенный объект как JSON.Здесь нет проблем.

Однако в этот вопрос ОП говорит "мои другие методы, использующие @RequestMapping, возвращают void, и я все еще могу получить JSON из них через ajax" .

Мне было интересно, как это возможно?У меня нет оснований сомневаться в том, что он действительно это делает, поэтому я хотел бы знать, как это сделать, ради любопытства и улучшения моего понимания Весны.

1 Ответ

4 голосов
/ 08 ноября 2011

Вы можете написать напрямую в HttpServletResponse:

@ResponseBody
public void doSomething(HttpServletRequest request, HttpServletResponse response) {
    response.setContentType("application/json");
    String json = "{\"Hello\": \"World\"}";
    PrintWriter out = response.getWriter();
    out.write(json);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...