我使用spring-data-rest和spring-data-jpa公开我的实体类,而没有任何自定义控制器。
@Entity
public class Domain {
@Id
private String domainName;
Domain(String name) {
this.domainName = name;
}
private Domain() { }
}
说我想创建一个ID为stackoverflow.com
的域名,我应该在请求正文中传递什么内容?
假设域资源在端点/domains
公开。我将@Id设置为字符串的原因是我希望能够通过GET /domains/{domainName}
更新
按如下方式发送POST请求时:
POST /domains
{
"domainName": "stackoverflow.com"
}
我得到例外:
JpaSystemException:必须手动分配此类的ID 在调用save()之前:space.linuxdeveloper.Network;嵌套异常 是org.hibernate.id.IdentifierGenerationException:此类的ID 必须在调用save()之前手动分配: 具有根本原因的space.linuxdeveloper.Network]
答案 0 :(得分:0)
尝试使用此请求正文:
POST /domains
{
"domainName": "stackoverflow.com"
}
别忘了纠正你的电影:
Domain(String domainName) {
this.domainName = domainName;
}