【问题标题】:Angular Js post date Bad Request in Java Spring mvcJava Spring mvc中的Angular Js发布日期错误请求
【发布时间】:2015-06-05 11:02:18
【问题描述】:

在 Java Spring MVC 项目中,我将一个对象发布到 @RestController 并且我发布的对象有一个日期属性。如果我删除此属性,则帖子将成功运行。但是使用 date 属性,它会返回 400 错误请求。 在 dto 中的 Date 是 java.util.Date

控制器中的方法:

@RequestMapping(value = "/users/createPetition", method = RequestMethod.POST)
public @ResponseBody PetitionDTO addPetition(@RequestBody PetitionRequestDTO petitionDto, Model model) {   ...

PetitionRequestDTO

public class PetitionRequestDTO {

private Long userId;

private Long categoryId;

private String title;

private String description;

private Date initialDate;

private String address; //getters setters

Angular js 调用

if ($scope.petitionForm.$valid) {
        $http.post(getCompletePath("users/createPetition"), JSON.stringify($scope.newPetition))
        .success(function (petition) {

        }).error(function (data, status, headers, config) {

        });

在 js 中,日期具有下一个值:Thu Mar 19 2015 00:00:00 GMT-0300(阿根廷标准时间)

完整的json是:

"{"selectedCategory":{"id":3,"name":"Plomero","description":"Plomeria"},"name":"aaa","title":"bbb","description":"ccc","initialDate":"2015-03-19T03:00:00.000Z","address":"asd","categoryId":3}"

【问题讨论】:

    标签: java javascript angularjs spring java.util.date


    【解决方案1】:

    您需要确保 JSON 日期的 JS 代码格式更好。这里有一个你应该考虑的讨论 - The "right" JSON date format

    一旦你有了这个,你就需要在 Spring MVC 中使用相应的日期时间格式化程序,以便能够将 JSON 日期字符串转换为日期对象 - spring mvc date format with form:input;这是另一个example

    【讨论】:

      【解决方案2】:

      在您的 log4j 属性中,激活 spring 调试日志,以便您能够查看请求中发送的对象有什么问题。将以下行添加到您的 log4j 属性中:

      log4j.logger.org.springframework.web=debug
      

      例如我的错误文字:

      org.springframework.http.converter.HttpMessageNotReadableException: 无法读取 JSON:无法识别的字段“日期”(类 org.joda.time.DateTime),未标记为可忽略

      在这里,我可以看到我的“日期”字段导致了问题,我将通过调查解决它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-11-17
        • 2018-11-28
        • 2015-05-04
        • 2018-10-28
        • 1970-01-01
        • 2014-05-17
        • 1970-01-01
        相关资源
        最近更新 更多