Java 如何在restfulapi服务中将unix时间戳转换为datetime格式

Java 如何在restfulapi服务中将unix时间戳转换为datetime格式,java,spring,Java,Spring,我将unix时间戳存储在数据库中,如1565170183785,现在我将提供api给客户端调用,如何在项目范围内转换unix时间戳?这是我的控制器代码: @ApiOperation(value = "提转报表明细(转入转出明细)", tags = "数据报表") Response<PageBean<ReportTransDetailResponse>> transDetailPage(@RequestParam(required = true, value =

我将unix时间戳存储在数据库中,如
1565170183785
,现在我将提供api给客户端调用,如何在项目范围内转换unix时间戳?这是我的控制器代码:

 @ApiOperation(value = "提转报表明细(转入转出明细)", tags = "数据报表")
    Response<PageBean<ReportTransDetailResponse>> transDetailPage(@RequestParam(required = true, value = "startDate") String startDate,
                                                                  @RequestParam(required = true, value = "endDate") String endDate,
                                                                  @RequestParam(required = false, value = "pageSize", defaultValue = "10") Integer pageSize,
                                                                  @RequestParam(required = true, value = "pageNum") Integer pageNum,
                                                                  @RequestParam(required = false, value = "transNo") String transNo,
                                                                  @RequestParam(required = true, value = "transType") Integer transType);
我不想在每个api中编写代码,如何在项目范围内将长时间戳转换为字符串格式,如“2019-08-09 10:01:54”?这是当前的回应:

{
  "resultCode": "200",
  "statusCode": "200",
  "msg": "ok",
  "result": {
    "pagination": {
      "pageNum": 1,
      "pageSize": 1,
      "total": 88,
      "pages": 88,
      "hasPreviousPage": false,
      "hasNextPage": true
    },
    "list": [
      {
        "id": 88,
        "transNo": 147778468896047100,
        "createdTime": 1565840892577,
        "updatedTime": 1565840892577,
        "transTime": 1565840892577,
        "userId": 15571,
        "userName": "嗨金金",
        "transAmount": 1000000,
        "creator": 15571,
        "sort": 0,
        "deleted": 0,
        "platform": 1,
        "status": 1,
        "transType": 1
      }
    ]
  },
  "validationErrors": null,
  "costTime": 0
}
这是我想要的格式:

{
  "resultCode": "200",
  "statusCode": "200",
  "msg": "ok",
  "result": {
    "pagination": {
      "pageNum": 1,
      "pageSize": 1,
      "total": 88,
      "pages": 88,
      "hasPreviousPage": false,
      "hasNextPage": true
    },
    "list": [
      {
        "id": 88,
        "transNo": 147778468896047100,
        "createdTime": "2016-08-9 10:01:54",
        "updatedTime": "2016-08-9 10:01:54",
        "transTime": "2016-08-9 10:01:54",
        "userId": 15571,
        "userName": "嗨金金",
        "transAmount": 1000000,
        "creator": 15571,
        "sort": 0,
        "deleted": 0,
        "platform": 1,
        "status": 1,
        "transType": 1
      }
    ]
  },
  "validationErrors": null,
  "costTime": 0
}

我试图避免在每个api函数中编写转换代码,我现在使用的是Spring框架。

请添加控制器代码段。您是否尝试编写拦截器来修改响应?在数据库和JSON生成之间,应该会将时间戳转换为瞬间。Jackson本身会将瞬间转换为ISO-8601字符串。离数据库越近越好,因为您应该在自己的代码中真正使用Instant,而不是Long。将
private Long createdTime
替换为
private Instant createdTime
。并删除JsonFormat注释:坚持标准ISO格式和UTC。
{
  "resultCode": "200",
  "statusCode": "200",
  "msg": "ok",
  "result": {
    "pagination": {
      "pageNum": 1,
      "pageSize": 1,
      "total": 88,
      "pages": 88,
      "hasPreviousPage": false,
      "hasNextPage": true
    },
    "list": [
      {
        "id": 88,
        "transNo": 147778468896047100,
        "createdTime": "2016-08-9 10:01:54",
        "updatedTime": "2016-08-9 10:01:54",
        "transTime": "2016-08-9 10:01:54",
        "userId": 15571,
        "userName": "嗨金金",
        "transAmount": 1000000,
        "creator": 15571,
        "sort": 0,
        "deleted": 0,
        "platform": 1,
        "status": 1,
        "transType": 1
      }
    ]
  },
  "validationErrors": null,
  "costTime": 0
}