哪位大神知道java后台的api接口的对象传到前端后输入日期报错,是什么情况?求大神指点

我的实体时间字段是date类型的,也格式化了,为什么前台输入日期格式报错?
控制层的代码!
@ApiConfig(desc = "修改或者新增活动产品", author = "cxf", status = Status.developing)

@ResponseBody
@RequestMapping(value = {"updateOrAdd"}, method = {RequestMethod.GET, RequestMethod.POST})
public String updateOrAdd(@ApiParam(name="产品json字符串")String products,@ApiParam(name="id!=null修改,id=null增加",
    excludes = {"id","actiDetailsList","pic","name"})ProActivityVO proActivity){
String strs = StringEscapeUtils.unescapeJava(products);
    List<ProductInfo> list = JSON.parseArray(strs, ProductInfo.class);
    return WebUtils.toJson(request, productInfoService.updateOrAdd(list, proActivity));

}

实体类的字段
public class ProActivityVO{

@FieldDesc(name="活动开始时间")
@JSONField(format="yyyy-MM-dd HH:mm:ss")
private Date onTime;

@FieldDesc(name="活动结束时间")
@JSONField(format="yyyy-MM-dd HH:mm:ss")
private Date endTime;

}

测试的页面:
products(产品json字符串):

content(活动内容):

title(活动标题):

shopId(所属店铺id):

actityPrice(活动价格):

onTime(活动开始时间):

endTime(活动结束时间):

img(活动图片):

阅读 4.1k
3 个回答

spring有个消息处理器,可以去看一下

/** 解析json返回数据 **/
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();

    List<MediaType> mediaTypes = new ArrayList(converter.getSupportedMediaTypes());
    converter.setSupportedMediaTypes(mediaTypes);
    mediaTypes.addAll(Arrays.asList(MediaType.TEXT_PLAIN, MediaType.TEXT_HTML, MediaType.TEXT_XML));

    ObjectMapper objectMapper = converter.getObjectMapper();
    objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));

    converters.add(converter);
}

建议是前后台都是用timestamp,各自转换,不会出现时间格式带来的问题

@DateTimeFormat(pattern="yyyy-MM-dd")
private Date date;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题