我正在为json教程构建一个示例应用程序。在发布json对象(描述和日期)之后,应该在数据库中自动生成一个id。如何将这个id作为json响应中的唯一字段?
@JsonView(View.Summary.class)
@PostMapping(path = "/api/object/new")
public Object AddObjectApi(@RequestBody Map<String, String> object) {
Object newObject = new Object(
object.get("description"),
LocalDateTime.now().truncatedTo(ChronoUnit.SECONDS));
Object savedObject = repository.save(newObject);
savedCObject.getId();
return savedObject;
}
示例输入(post json):
{
"description" : "This is object description"
}
示例输出(返回json响应):
{
"id" : "1"
}
3条答案
按热度按时间sc4hvdpw1#
您可以创建一个名为id的字段的新类
然后在db中保存对象后,可以返回如下响应
rryofs0p2#
如果您使用的是实体类,那么
id
实体中的列应具有此行@GeneratedValue(strategy = GenerationType.IDENTITY)
在数据库中保存实体类时.save
将返回包含新生成的id的已保存实体entity = repository.save(entity);
然后你可以得到保存在数据库中的数据的identity.getId()
您可以使用getter setter创建另一个id为vaiable的pojo类,并返回pojo的示例g6baxovj3#
对不起我的英语。
首先,我使用jackson将对象转换为json或相反。
创建一个表示json对象的实体。
我在考虑你在和jparepository合作
你的团结
//开始将json转换为实体
//持久化对象//save从数据库返回对象。他有价值观
我发现这个可以将属性提取为json