gpt4 book ai didi

java - 如何使用 JSON 在 Spring Rest 中接收和发送日期?

转载 作者:行者123 更新时间:2023-11-30 07:16:15 24 4
gpt4 key购买 nike

我现在正在一个项目中工作,我一直在尝试以 Json 形式接收和发送日期并将其存储在我的模型/数据库中

我的模型是这样的:

@Entity
public class Incident {
@Id
private String id; //it contains sometimes letters, thats why its String

@Column(nullable = false)
private String responsible;

@Temporal(TemporalType.TIMESTAMP)
@Column(nullable = false)
private Date uploadDate;

@Temporal(TemporalType.TIMESTAMP)
@Column(nullable = false)
private Date lastDate;
}

我想收到一个事件列表,当所有这些日期都是字符串时(仅用于测试),该列表正在工作。

但现在我希望将它们全部传递给 Date。我当前的格式从每个日期列开始发生变化,例如,uploadDate 接收为“dd.MM.yyyy HH:mm:ss”,lastDate 接收为“dd.MM.yyyy HH” :mm"(没有秒)。

我的在 Controller 上的帖子是:

@RequestMapping(method = RequestMethod.POST)
@ResponseStatus(HttpStatus.CREATED)
public @ResponseBody List<Incident> create(@RequestBody List<Incident> incident) {
for(.....//runs all the list and insert one by one)
{
IncidentDao.createIncident(incident_item);
}
return incident;
}

DAO:

@Transactional
public Incident createIncident(Incident incident){
em.persist(incident);
return incident;
}

我应该如何处理我的json,它按照我之前所说的方式发送,接受某种格式,有些人将其序列化,但我想以原来的格式接收它。

在更改类型之前,一切都正常。我想我应该将 @DateTimeFormat 与模式一起使用,但我真的不知道该把它放在哪里,是在模型中还是在 Controller /DAO 中,或者是否在所有内容中。

我的GETDAO上是这样的:

public Incident getIncidentById(String id){
Incident incident = em.find(Incident.class, id);
return incident;
}

Controller 处:

@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public @ResponseBody Incident findById(@PathVariable String id) {
return taskDao.getIncidentById(id);
}

我的 GET 返回 DAO 中的整个事件列表:

public Collection<Incident> getAllIncidents(){
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Incident> criteria = cb.createQuery(Incident.class);
Collection<Incident> resultList = em.createQuery(criteria).getResultList();
return resultList;
}

Controller 处:

@RequestMapping(method = RequestMethod.GET)
public @ResponseBody Collection<Incident> findAll() {
return IncidentDAO.getAllIncidents();
}

另外,我想知道如果我的一个日期也是 Id,它会改变解决方案上的某些内容(POST 部分和 GET 部分 - 除了模型时我应该创建的类 ID有多个 ID)

感谢您的帮助,祝您有美好的一天!

最佳答案

uploadDate is received as "dd.MM.yyyy HH:mm:ss" and lastDate is received as "dd.MM.yyyy HH:mm"(without seconds).

这实际上没有什么意义。如果您想按照自己想要的方式显示日期,请在 View 中设置日期格式。在您的数据库中或在处理日期时,只需保留格式不变即可。

if one of my Dates are Id also, it will change something on the solution

嗯,这可能也不是一个好主意。对不起。您有大量的 ID 生成选项,为什么还要使用日期呢?

关于java - 如何使用 JSON 在 Spring Rest 中接收和发送日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38364097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com