问题描述

前端传yyyy-MM-dd hh:mm:ss格式的时间其实是String类型导致JavaBean中的Date类型Setter报错,从而导致api请求400.

问题解决

我的解决方式:

在对应的实体类的对应的非字符串类型的变量的setter方法中传入string类型的,然后在里边用SimpleDateFormat或者Integer进行转化

public void setReleaseEndTime(String str) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date releaseEndTime;
try {
releaseEndTime = sdf.parse(str);
this.releaseEndTime = releaseEndTime;
} catch (ParseException e) {
e.printStackTrace();
}
}
1
2
3
4
5
6
7
8
9
10
网上有:

1、把实体类的javabean里边的类型都改成string类型了,在配置SQL语句时用数据库函数to_date或者to_number转化的,如果再java中用到这个字符串类型的日期的话,有必要的话,就用For format=new SimpleDateFormat(“yyyy-MM-dd”),format.parse()来转换。

2、还可以在实体类中定义Date和int类型对应的字符串类型成员变量,这样前台的表单中field或者name与之对应上即可,这样也成功转成实体类了,不过转成之后,得在java中把它字符串类型的转成对应的Date或者int类型赋给相应的成员变量即可。

3、最后还有一种方法,就是实体类的日期属性上加@DateTimeFormat(pattern=“yyyy-MM-dd”)注解,大部分是可以成功使用的。如果这种方法不可用的话,你看继续尝试如下方法:不过这个前提是前台穿过的日期为json形式而非字符串形式,如前台类似KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲id").val()来获取日期….toJSON(new Date(stringdate))来传给后台,这种方式比较麻烦,有网友留言特意讨论了一下这个问题,所以建议采用第一种方式。
---------------------

最新文章

  1. 【转】工控老鬼】西门子S7200入门&精通【1】S7200硬件大全
  2. Adaptive Decontamination of the Training Set: A Unified Formulation for Discriminative Visual Tracking
  3. php源码之遍历目录下的所有的文件
  4. 直接使用docker而无须加sudo
  5. Linq之延迟加载特性
  6. .atomic vs volatile
  7. chrome源码编译常见的错误解决
  8. hdu 4192
  9. oracle 有关大数据
  10. Web API 返回json文件的2中不用方式
  11. 笔记-人老了-github
  12. Ubuntu12.04安装hadoop
  13. 新软件马上就要完成了,先发篇文章YY下
  14. java设计模式(二)
  15. u3d脚本生命周期
  16. RobotFramework自动化测试框架-移动手机自动化测试Click A Point关键字的使用
  17. python进阶学习笔记(一)
  18. JavaScript简史
  19. [Swift]LeetCode6. Z字形变换 | ZigZag Conversion
  20. celery --分布式任务队列

热门文章

  1. 110、TensorFlow张量值的计算
  2. Windows 08R2 IIS网站架设
  3. linux-centOS环境下安装jdk8
  4. 《单词的减法》state1~state17(第三遍学习记录)
  5. 带有headers的urllib库爬取
  6. python RBAC权限控制模型扩展 基于JWT实现
  7. Codeforces 497B Tennis Game( 枚举+ 二分)
  8. linux的CentOS、Ubuntu、Debian三个比较异同
  9. python打包生成exe文件
  10. sub