如何在将数据发布到 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
过滤器。
同样,将数据发送到服务器,不要发送任何格式化的数据,而是模型日期值,我相信服务器端反序列化程序会处理它。查看在网络上发送的格式,以满足您的请求。
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- AngularJS:我可以跳过函数参数回调吗
- AngularJS UI路由器不能像ng路由器那样工作
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- 如何包含特定于每个视图angularjs的javascript文件
- AngularJS:ng之后,重复$scope值未按预期更新
- AngularJS-在JSON选择器中使用变量名
- $window.ga在AngularJS事件中未定义
- AngularJS-使用'true'属性
- 打开一个模态并将其链接到AngularJS中的指令
- Angularjs代码未在匿名函数中运行
- angularjs+rails应用程序中未显示模板
- 我的AngularJS表达式没有'不起作用
- AngularJS $http请求比直接在浏览器中命中端点要长得多
- 如何在将数据发布到 REST 端点时在 AngularJS 中格式化日期
- AngularJS:如何防止从客户端程序化点击点击AJAX端点的按钮
- 在AngularJS中使用服务来连接API端点
- 链接angularjs rest端点访问
- 从angularjs中的OAuth2授权端点中检索令牌
- 使用AngularJS根据端点JSON值选择行的颜色