【问题标题】:@RequestBody doesn't work as expected@RequestBody 没有按预期工作
【发布时间】:2015-06-24 19:07:06
【问题描述】:

我正在向服务器发送一个 JSON obj,该服务器将填充我的域 obj 报告。

public class CustomReport {String name;
String name;
String email;
Date invocieDate;
Date shipDate;
//...getters and setters
}

所有内容都已填充,但 invoiceDate 除外。

public void create(@RequestBody CustomReport report, HttpServletRequest request) {      
      System.out.println(report.getShipDate()); 
      System.out.println(report.getInvocieDate()); // gives me null
      System.out.println(report.getName());
}

我从浏览器检查了请求有效负载,我认为请求正常

{"name":"trace","email":"trace@gmail.com","invoiceDate":"2015-01-01T06:00:00.000Z","shipDate":"2015-01-02T06:00:00.000Z"}

我的js代码如下:

    $scope.submit = function() {
    console.log($scope.report.invoiceDate); //got value here
    $http.post('/api/request/submit', $scope.report).success(function(data){
        alert("success");
    }).error(function(data,status,headers,config){});

我的代码有什么问题吗?我可以做些什么来调试?

请帮助,任何帮助将不胜感激。

【问题讨论】:

  • 仅用于基本检查,请在客户端和服务器端检查您的 invoiceDate 拼写。
  • 我认为你的问题是@requestbody 无法解析日期。您使用的日期格式是否与 json 响应相同?
  • @DiptopolDam 我使用与shipDate 相同的日期。但 shipDate 已正确填充。
  • @Rahul 我之前确实检查过几次,但在阅读了您的评论后,我再次检查了它。我发现我的域 obj 中有一个小错字。我写了 invocieDate。如此愚蠢。谢谢你

标签: java angularjs spring-mvc xmlhttprequest


【解决方案1】:

仔细看

在 JSON 中:

"invoiceDate":"2015-01-01T06:00:00.000Z" 

在课堂上

Date invocieDate;

两者的名字应该相同)

【讨论】:

    猜你喜欢
    • 2021-10-19
    • 2020-03-18
    • 2012-06-14
    • 2014-11-15
    • 1970-01-01
    • 2012-07-02
    • 2011-09-07
    • 2013-03-03
    • 2015-05-18
    相关资源
    最近更新 更多