Мы можем использовать карту для преобразования данных
public class TestModel {
private String name;
private String category;
private Map<String, Object> jsonObj;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public Map<String, Object> getJsonObj() {
return jsonObj;
}
public void setJsonObj(Map<String, Object> jsonObj) {
this.jsonObj = jsonObj;
}
}
и использовать класс выше от контроллера, как показано ниже
@PostMapping("/test")
public boolean test(@RequestBody TestModel model) {
System.out.println(model.getCategory());
System.out.println(model.getName());
JSONObject jsonObj = new JSONObject(model.getJsonObj());
System.out.println(jsonObj);
return true;
}
Для запроса
{
"category":"json",
"name":"name",
"jsonObj": {
"a": "value"
}
}
это будет печать
json
name
{a=value}