Я работаю с DataTables и Spring MVC.
Я пытаюсь вернуть DataTablesOutput <> с @JsonView и @ResponseBody следующим образом
@GetMapping(value = "/list/paginated", produces = "application/json; charset=utf8")
@JsonView(DataTablesOutput.View.class)
public @ResponseBody DataTablesOutput<StateEntity> showStateListPaginated(@Valid
DataTablesInput input) throws JsonProcessingException {
DataTablesOutput<StateEntity> dataTablesOutput = stateDataTablesDao.findAll(input);
return dataTablesOutput;
}
Затем я получаю что-то вроде это в браузере {"draw": 1, "recordsTotal": 17, "recordsFiltered": 17, "data": [{}, {}, {}, {}, {}], "error": null} все отображается правильно, но «данные» пусты, что является фактическими данными, которые будут отображаться в таблице данных.
Но когда я выполняю следующий код, который в значительной степени совпадает с @JsonView (DataTablesOutput.View.class) затем я вижу, что все отображается правильно
DataTablesOutput<StateEntity> dataTablesOutput = stateDataTablesDao.findAll(input);
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writerWithView(DataTablesOutput.View.class)
.writeValueAsString(dataTablesOutput);
System.out.println(json);
Результат приведенного выше кода в окне консоли выглядит следующим образом:
{"draw":1,"recordsTotal":17,"recordsFiltered":17,"data":[{"id":1,"name":"new york","enabled":true,"createdAt":1579490984000,"updatedAt":1580287533000},{"id":3,"name":"washington","enabled":true,"createdAt":1579599713000,"updatedAt":1579599713000},{"id":5,"name":"cali","enabled":true,"createdAt":1579675923000,"updatedAt":1579675923000},{"id":6,"name":"boston","enabled":true,"createdAt":1579699731000,"updatedAt":1579699731000},{"id":7,"name":"gotham","enabled":true,"createdAt":1580327848000,"updatedAt":1580327848000}],"error":null}
Я не могу найти причину, по которой возвращается json иметь пустые «данные». Есть ли какая-либо проблема между @JsonView и @ResponseBody или чем-то еще?
Не могли бы вы, ребята, увидеть что-нибудь, что вызывает эту проблему, и любое решение, пожалуйста?