Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将JSON数组传递给Java Springs控制器_Java_Json_Spring Mvc - Fatal编程技术网

将JSON数组传递给Java Springs控制器

将JSON数组传递给Java Springs控制器,java,json,spring-mvc,Java,Json,Spring Mvc,我正在尝试将此JSON传递给Springs控制器: {"orderList":["IS_cb-A1-3","IS_cb-A1-4","IS_cb-A1-1","IS_cb-A1-2","IS_cb-A1-3"]} 以下是方法声明: public @ResponseBody JsonResponse orderCertificates(@ModelAttribute CertificateRequest certificateOrder, BindingResult result ) 这是豆子

我正在尝试将此JSON传递给Springs控制器:

{"orderList":["IS_cb-A1-3","IS_cb-A1-4","IS_cb-A1-1","IS_cb-A1-2","IS_cb-A1-3"]}
以下是方法声明:

public @ResponseBody JsonResponse orderCertificates(@ModelAttribute CertificateRequest certificateOrder, BindingResult result )
这是豆子:

public class CertificateRequest {
private String[] orderList = null;
private List<String> mbsResponse = new ArrayList<String>(); 

public String[] getOrderList() {
    return orderList;
}

public void setOrderList(String[] orderList) {
    this.orderList = orderList;
}

public List<String> getMbsResponse() {
    return mbsResponse;
}

public void setMbsResponse(List<String> mbsResponse) {
    this.mbsResponse = mbsResponse;
}
}
公共类证书请求{
私有字符串[]orderList=null;
私有列表mbsResponse=new ArrayList();
公共字符串[]getOrderList(){
返回订单列表;
}
public void setOrderList(字符串[]orderList){
this.orderList=订单列表;
}
公共列表getMbsResponse(){
返回MBS响应;
}
公共无效设置mbsResponse(列表mbsResponse){
this.mbsResponse=mbsResponse;
}
}

我不知道如何构建这个bean(它不工作),以便我可以访问这个数组。任何帮助都将不胜感激。

此请求映射方法的签名(在3.1 Spring MVC中)应适用于您:

@RequestMapping(value="/cert", consumes="application/json", produces="application/json")
public @ResponseBody CertificateRequest orderCertificates(@RequestBody CertificateRequest certificateOrder){
//
}
我已经用
@RequestBody
标记了CertificateRequest,并删除了
BindingResult

更新:发布代码,这是我的方法的外观-

@RequestMapping(value="/cert", consumes="application/json", produces="application/json")
public @ResponseBody CertificateRequest orderCertificates(@RequestBody CertificateRequest certificateOrder){
    System.out.println(certificateOrder);
    return certificateOrder;
}

在http请求中,当orderList是字符串时,我已经显式地将内容类型设置为“application/json”

:没问题。它需要是一个数组,当它停止工作时。是的,它也作为一个数组工作,在我的机器中,这是打印在方法体中的字符串:
CertificateRequest[orderList=[is_cb-A1-3,is_cb-A1-4,is_cb-A1-1,is_cb-A1-2,is_cb-A1-3],mbsResponse=[]