欢迎光临
我们一直在努力

`@DateTimeFormat` 注解是正确的方向。这个注解主要用于处理表单提交(`application/x-www-form-urlencoded`)的日期格式。

非常好!添加 @DateTimeFormat 注解是正确的方向。这个注解主要用于处理表单提交(application/x-www-form-urlencoded)的日期格式。

完整的日期注解配置

1. DTO 中的日期字段(同时使用两个注解)

package org.jeecg.modules.demo.fence.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

@Data
public class FenceDTO {

@JsonProperty(\”id\”)
private String id; // 围栏ID(对应前端的id)

private String name; // 围栏名称
private String type; // 类型名称

@JsonProperty(\”typeCode\”)
private String typeCode; // 类型代码

private String color; // 颜色
private String remark; // 备注

/**
* 创建时间
* 同时支持 JSON 和表单提交
*
* @JsonFormat: 处理 JSON 序列化/反序列化
* @DateTimeFormat: 处理表单提交的日期格式化
*/

@JsonProperty(\”createTime\”)
@JsonFormat(pattern = \”yyyy-MM-dd HH:mm:ss\”, timezone = \”GMT+8\”)
@DateTimeFormat(pattern = \”yyyy-MM-dd HH:mm:ss\”)
private LocalDateTime createTime;

@JsonProperty(\”key\”)
private String key; // 表格key(同id)

// 几何数据
private List<double[]> path; // 路径点
private Map<String, double[]> bounds; // 边界
private double[] center; // 中心点
private Double radius; // 半径
}

2. Controller 的两种接收方式

方式一:接收 JSON(使用 @RequestBody)

@PostMapping(\”/save\”)
public Map<String, Object> saveFence(@RequestBody FenceDTO fenceDTO, HttpServletRequest request) {


// @JsonFormat 注解会生效
System.out.println(\”接收到的创建时间: \” + fenceDTO.getCreateTime());

FenceDTO saved = fenceService.saveFence(fenceDTO);

Map<String, Object> result = new HashMap<>();
result.put(\”code\”, 200);
result.put(\”message\”, \”保存成功\”);
result.put(\”data\”, saved);
result

赞(0)
未经允许不得转载:171主机测评 » `@DateTimeFormat` 注解是正确的方向。这个注解主要用于处理表单提交(`application/x-www-form-urlencoded`)的日期格式。
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址