Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
Spring mvc 弹簧3.2千斤顶2(400错误请求)_Spring Mvc - Fatal编程技术网

Spring mvc 弹簧3.2千斤顶2(400错误请求)

Spring mvc 弹簧3.2千斤顶2(400错误请求),spring-mvc,Spring Mvc,我知道Spring3.2确实使用RequestBody注释将json转换为对象列表。这对我不起作用。我可以用普通的Jackson对象映射器来做。只是看看有没有人能帮我。。下面是我的json和控制器方法 [{"uniqueJqGridId":"1","fileProcessingDate":"2012-09-24","createdTimeStamp":"1348569180191","csoCode":"A-A ","cycleDate":"2012-09-24","accountDate":

我知道Spring3.2确实使用RequestBody注释将json转换为对象列表。这对我不起作用。我可以用普通的Jackson对象映射器来做。只是看看有没有人能帮我。。下面是我的json和控制器方法

[{"uniqueJqGridId":"1","fileProcessingDate":"2012-09-24","createdTimeStamp":"1348569180191","csoCode":"A-A  ","cycleDate":"2012-09-24","accountDate":"2012-10-02","originName":"NCAA                     ","amount":"-95996.33","policyNumber":"C               ","transactionCode":"PCH","id":"1"}]

@RequestMapping(method = RequestMethod.POST, value = "/washTransactions", headers="Content-Type=application/json")  
public @ResponseBody RequestStatus washTransactions(@RequestBody List<ReconPolicy> policiesToWash)throws Exception{
    reconciliationService.applyWashToTransactions(policiesToWash,getCurrentUser());
    return new RequestStatus(true);
}
[{“uniqueJqGridId”:“1”,“文件处理日期”:“2012-09-24”,“createdTimeStamp”:“1348569180191”,“csoCode”:“A-A”,“cycleDate”:“2012-09-24”,“accountDate”:“2012-10-02”,“原始名称”:“NCAA”,“金额”:“-95996.33”,“保单编号”:“C”,“交易代码”:“PCH”,“id”:“1”]
@RequestMapping(method=RequestMethod.POST,value=“/washTransactions”,headers=“Content Type=application/json”)
public@ResponseBody RequestStatus washTransactions(@RequestBody List policiesToWash)引发异常{
对账服务。applyWashToTransactions(policiesToWash,getCurrentUser());
返回新的请求状态(true);
}

您正面临Java的类型擦除问题。Spring无法将确切的类类型传递给该方法,因此它实际上得到了类似于
List policiesToWash
的东西

一种解决方法是创建一个类似

public class WashablePolishes extends ArrayList<ReconPolicy>

谢谢你回复瓦伦。从Spring3.2开始,没有类型擦除问题。我在启用spring调试后发现了这个问题,我发现它在一些未知属性上失败了,我不得不用@JsonIgnoreProperties注释我的类。现在它起作用了

public @ResponseBody RequestStatus washTransactions(@RequestBody ReconPolicy[] policiesToWash) throws Exception {...}