繁体   English   中英

将数据发布到REST端点时如何格式化AngularJS中的日期

[英]How to format date in AngularJS when posting data to a REST end point

我有一个Spring MVC REST后端应用程序。 我将“mm / dd / yyyy”格式的日期发送给客户。

但是如果我将日期格式化为“mm / dd / yyyy”并将其发回,则数据绑定失败。

这是我的Spring customdateserializer obj,它将日期发送到前端时将java.util.date转换为mm / dd / yyy

public class CustomDateSerializer extends JsonSerializer<Date> {  
    @Override
    public void serialize(Date value, JsonGenerator gen, SerializerProvider arg2) throws 
        IOException, JsonProcessingException {      

        SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
        String formattedDate = formatter.format(value);

        gen.writeString(formattedDate);

    }
}

这是数据绑定失败的对象

@Entity
@Table(name = "bill")
public class Bill implements GenericObject {

    @Temporal(javax.persistence.TemporalType.TIMESTAMP)
    private Date billDate;

    @JsonSerialize(using = CustomDateSerializer.class)
    public Date getBillDate() {
        return billDate;
    }

    public void setBillDate(Date billDate) {
        this.billDate = billDate;
    }
}

这是我发布数据的终点(Spring MVC控制器)

@RequestMapping(value = { "/user/{userId}/bill" }, method = { RequestMethod.POST })
    public void addBill(@RequestBody Bill bill_p,@PathVariable("userId") int userId,
            HttpServletResponse httpResponse_p, WebRequest request_p) {

        processing......

    }

我可以说的是不要将格式化的日期发送到浏览器。 发送Date类型结构\\对象让我们在客户端处理日期格式。 Angular有一个用于此任务的date过滤器。

类似地,为了向服务器发送数据,不要发送任何格式化数据,而是模型日期值,我相信服务器端解串器会处理它。 请参阅电线上发送的格式以满足您的要求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM