You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AngularJS接收Java后端HTTP GET请求返回数组内容异常问题排查

问题分析与解决方案

嘿,我一眼就揪出问题根源了——你的Item类里,那些从数据库查询出来并赋值的核心属性(比如idUnit、productCode、brand这些)没有对应的公共getter方法!

你用的JAX-RS框架(比如Jersey)在把Java对象转成JSON返回给前端时,默认是通过公共getter方法来识别要序列化的属性的。现在你的Item类里只有chassis、engine这类属性有getter,而你真正需要的那些属性根本没对外暴露获取方式,所以序列化后的JSON里完全没有这些字段,前端拿到的自然是不符合预期的内容。

具体解决步骤

1. 给核心属性添加getter方法

给idUnit、productCode、brand、availableItems、requiredItems、orderedItems、note、option这些属性逐一添加公共getter,示例如下:

public int getIdUnit() {
    return idUnit;
}

public int getProductCode() {
    return productCode;
}

public String getBrand() {
    return brand;
}

public int getAvailableItems() {
    return availableItems;
}

public int getRequiredItems() {
    return requiredItems;
}

public int getOrderedItems() {
    return orderedItems;
}

public String getNote() {
    return note;
}

public String getOption() {
    return option;
}

2. 测试验证

添加完这些getter后,重启后端服务,再发起GET请求,你会看到前端控制台打印的数组内容和Java调试器里的一致了。

额外小建议

  • 要是嫌写getter太麻烦,可以试试Lombok的@Getter注解,它能自动给所有属性生成getter,减少样板代码。
  • 另外,你的Item有多个构造方法,虽然当前逻辑没影响,但可以确认下序列化框架(比如Jackson)能正确识别你在用的构造方法,不过先解决getter的问题就够了。

内容的提问来源于stack exchange,提问作者alesechi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 21:32:44