javascript - 是否可以使用 $http.post 发布数组?

标签 javascript json angularjs http-post angularjs-service

我试图通过 $http.post 将 json 数组保存到后端服务,但我总是收到 400 Bad Request。我用谷歌搜索了一下,但没有找到明确的答案。

我的问题如下:
1. 是否可以通过$http.post发布json数组?
2. 如果是,怎么做?
3. 如果没有,还有什么其他替代方法来保存 json 数组以达到这样的目的?

为了使这一点更加清晰,我将在下面添加一些必要的代码。

在前端

储蓄服务

createBatchSavings: function(savingsBatch){
        return $http.post('/finance/savings/create/batchsavings', savingsBatch).success(function(data){
            return data;
        });
    }

上述函数正确获取其 savingBatch 参数。 savingBatch 是 json 数组。

在后端

保存服务Impl

@Component
@Path("/savings")
@Produces("application/json")
public class SavingsServiceImpl implements SavingsService {

@Autowired
FinanceEntityDao financeDao;

@POST
@Path("/create")
public FinanceEntity createSaving(FinanceEntity financeEntity) {
    financeEntity.setType(FinanceType.SAVING);
    financeEntity.setDateAdded(new Date());
    return financeDao.save(financeEntity);
}

@POST
@Path("/create/batchsavings")
public List<FinanceEntity> createBatchSavings(List<FinanceEntity> savingsBatch) {
    if(savingsBatch.size() > 0){
        return financeDao.massSave(savingsBatch);
    }
    else {
        throw new NullPointerException("Saving batch was null!");
    }
}
}

我还检查了 header 值。请求 header 具有正确的值,但响应 header 内容长度始终为零。

最佳答案

是的,绝对可以发布数组数据,并且您在客户端编写的用于发布数据的代码是正确的。

您收到的状态代码 400 一定是由于服务器端代码出现问题造成的。我在服务器端代码中看到一个方法 createBatchSavings,但客户端的 URL 是小写的,batch savings

这只是一个提示。您需要添加有关服务器端代码的更多信息。

关于javascript - 是否可以使用 $http.post 发布数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27731711/

相关文章:

javascript - 打开和关闭灯

python - 如何使用python定期从弹性数据库中获取数据?

java - 使用 gson 反序列化 JSON 对象数组时遇到问题

javascript - 如何使用组件将值传递给 Controller ​​?

javascript - 我可以通过更改 Angular Js 中的 url 地址来移动到我的个人资料页面而无需登录吗?

javascript - 来自 json 的 Angular JS 中的动态表

javascript - 使用 getElementByTagName 检索 b 的值并将其设为整数

javascript - 如何找出/调试将 JavaScript 加载到浏览器中的内容

javascript - HTML 表格可按 ROW 而不是使用 JavaScript 的 COLUMN 排序?

perl - 需要帮助从 Perl 生成 JSON