Spring Ajax列表返回,但对象为空

Spring Ajax List returned but objects empty

本文关键字:对象 Ajax 列表 返回 Spring      更新时间:2023-09-26

我正在构建一个类似储物柜管理系统的东西,储物柜有更新历史。我希望使用Ajax返回该历史记录的列表,列表中最多有X个条目。每当我返回List<LockerHistoryEntity>Iterable<LockerHistoryEntity>时,都会返回对象的数量,但所有对象都是空的。

问题示例

Ajax调用(在本例中使用getHistory(100)调用):

function getHistory(limit) {
    var data = {};
    data["limit"] = limit;
    $.ajax({
        type: "POST",
        contentType: "application/json",
        url: "/gethistory",
        data: JSON.stringify(data),
        dataType: 'json',
        timeout: 100000,
        success : function(data) {
            fillTable(data);
            console.log(data);
            console.log(data.result);
        },
        error : function(e) {
            //error
        }
    });
}

@RestController

@JsonView(Views.Public.class)
    @RequestMapping(value = "/gethistory", method = RequestMethod.POST, produces="application/json")
    @ResponseBody
    public Iterable<LockerHistoryEntity> getHistory(@RequestBody HistoryLimit limit) {
        Iterable<LockerHistoryEntity> lockerHistory;
        if (limit.getLimit() >= 0) {
            lockerHistory = history.findAllLimit(limit.getLimit());
        } else {
            lockerHistory = history.findAll();
        }
        return lockerHistory;
    }

当使用for循环打印lockerHistory时,所有数据都显示正确。

遗憾的是,我找不到任何关于这个确切问题的话题,所以发了这篇帖子。

在将响应发送到AJAX之前,需要将对象转换为JSON形式。请参阅此链接:http://howtodoinjava.com/jackson/jackson-examples-convert-java-object-to-from-json/