Имея следующий код:
@RequestMapping(value = "/greeting", method = POST, consumes = APPLICATION_JSON_VALUE, produces = APPLICATION_JSON_VALUE)
@ResponseBody
public String greetingJson(@RequestBody String json) {
System.out.println("json = " + json); // TODO json is null... how to retrieve plain json body?
return "Hello World!";
}
Аргумент String json всегда равен нулю, несмотря на то, что json отправляется в тело.
Примечание, что я не хочу автоматического преобразования типов, мне просто нужен простой результат json.
Это, например, работает:
@RequestMapping(value = "/greeting", method = POST, consumes = APPLICATION_JSON_VALUE, produces = APPLICATION_JSON_VALUE)
@ResponseBody
public String greetingJson(@RequestBody User user) {
return String.format("Hello %s!", user);
}
Возможно, я могу использовать использование параметра ServletRequest или InputStream в качестве аргумента для получения фактического тела, но мне интересно, есть ли более простой способ?