gpt4 book ai didi

javascript - 将数组从javascript发送到Spring Controller

转载 作者:行者123 更新时间:2023-11-30 11:28:21 25 4
gpt4 key购买 nike

我有一个 javascript 函数可以向 Controller API 发送消息。这是代码:

exports.importList = function (req, res) {
res.setHeader('Content-Type', 'application/json');
var agencyId = req.user.agency_id;
var userId = req.user.id;
data = {
id_list: req.body.ids,
remoteHost:'127.0.0.1',
userId : userId,
agencyId:agencyId
};

call = '/ilist/importer/list/'; //Spring route

fetcher.post(call, 'post', data, function (err, result) {
console.log(data);
})
}

req.body.ids 是一个字符串值数组,因此我要发送到我的 Controller 的数据具有以下结构:

{ id_list: [ '2147041', '2155271' ], 
remoteHost: '127.0.0.1',
userId: 'user',
agencyId: 1 }

我的 Controller 方法:

@RequestMapping(value="/list/", method = RequestMethod.POST, headers = "Accept=application/json")
public @ResponseBody RemaxResponse importPropertyList(@RequestBody ArrayList<String> data ) {

List<Long> ids = new ArrayList<>();
for (String id : data.id_list) {
ids.add(Long.valueOf(id));
}

response = ilistIImporterService.importPropertyList(ids);
return response;
}

我需要在我的 Controller 中获取字符串数组并将其存储在整数数组中,其他参数存储在整数变量中。现在,我发现我从 javascript 发送的数据在语法上是不正确的。执行此操作的正确方法是什么?

最佳答案

如果你想发送整个对象,我会创建一个 pojo 并将其用作 @RequestBody 之类的

public @ResponseBody RemaxResponse importPropertyList(@RequestBody RequestObject data )  {

现在 spring 可以很好地解析整个数据到给定的 pojo,你可以简单地使用 getters 来获取你需要的数据。

一个pojo可能看起来像

public class RequestObject {
private List<Long> idList = null;
private String remoteHost;
private String userId;
private Integer agencyId;

public List<Long> getIdList() {
return idList;
}

public void setIdList(List<Long> idList) {
this.idList = idList;
}

public String getRemoteHost() {
return remoteHost;
}

public void setRemoteHost(String remoteHost) {
this.remoteHost = remoteHost;
}

public String getUserId() {
return userId;
}

public void setUserId(String userId) {
this.userId = userId;
}

public Integer getAgencyId() {
return agencyId;
}

public void setAgencyId(Integer agencyId) {
this.agencyId = agencyId;
}
}

关于javascript - 将数组从javascript发送到Spring Controller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47144662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com