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