我试图用OneToOnenullable=false
与用户实体的关系保存诊所实体。
诊所实体:
//....Some fields
@OneToOne(optional=false,fetch = FetchType.LAZY)
@JoinColumn(name = "user_id", nullable = false)
@NotNull
private User user;
//.. Getters & Setters
用户实体
//....Some fields
@OneToOne(fetch = FetchType.LAZY,mappedBy="user",cascade=CascadeType.ALL,orphanRemoval = true)
private Clinic clinic;
//.. Getters & Setters
>
成功发布用户。
curl -i -X POST -H "Content-Type: application/json" -d '{"firstName" : "Khaled","lastName" : "Lela","userName" : "KhaledLela","password" : "128ecf542a35ac5270a87dc740918404","email" : "example@gmail.com", "phone" : "12345678","gender" : "MALE", "level" : "ADMIN"}' http://localhost:8080/clinicfinder/api/user
HTTP/1.1 201 Created
Server: Apache-Coyote/1.1
Location: http://localhost:8080/clinicfinder/api/user/4
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 20 Apr 2017 12:26:41 GMT
{
"token" : null,
"firstName" : "Khaled",
"lastName" : "Lela",
"userName" : "KhaledLela",
"password" : "128ecf542a35ac5270a87dc740918404",
"email" : "example@gmail.com",
"phone" : "12345678",
"gender" : "MALE",
"level" : "ADMIN",
"birthDate" : null,
"createDate" : null,
"updateDate" : null,
"_links" : {
"self" : {
"href" : "http://localhost:8080/clinicfinder/api/user/4"
},
"user" : {
"href" : "http://localhost:8080/clinicfinder/api/user/4"
},
"clinic" : {
"href" : "http://localhost:8080/clinicfinder/api/user/4/clinic"
}
}
}
无法使用用户链接发布诊所
curl -i -X POST -H "Content-Type: application/json" -d '{"name":"clinc","address":"address","city":"city","area":"area","user":"http://localhost:8080/clinicfinder/api/user/2"}' http://localhost:8080/clinicfinder/api/clinic
违反约束的列表:[ConstraintViolationImpl{interpolatedMessage='可能不是null',属性Path=用户,rootBeanClass=类com.domain.entity.诊所,消息模板='{javax.validation.constraints.NotNull.message}'}]
>
@RepositoryRestResource(path = "clinic")
public interface ClinicRepo extends CrudRepository<Clinic, Long> {}
波姆
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<spring.data.jpa.version>1.11.1.RELEASE</spring.data.jpa.version>
<spring.data.rest.webmvc.version>2.6.1.RELEASE</spring.data.rest.webmvc.version>
</properties>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.41</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<!-- Spring Rest Repository -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>${spring.data.jpa.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-rest-webmvc</artifactId>
<version>${spring.data.rest.webmvc.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.10.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.1.Final</version>
</dependency>
感谢@Alan Hay,我的错我错过了添加setUser()
添加后,他们工作像一个魅力,...
curl -i -X POST -H "Content-Type: application/json" -d '{"name":"clinc","address":"address","city":"city","area":"area","user":"http://localhost:8080/clinicfinder/api/user/2"}' http://localhost:8080/clinicfinder/api/clinic
HTTP/1.1 201 Created
Server: Apache-Coyote/1.1
Location: http://localhost:8080/clinicfinder/api/clinic/1
Content-Type: application/hal+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 20 Apr 2017 15:59:16 GMT
{
"name" : "clinc",
"address" : "address",
"city" : "city",
"area" : "area",
"longitude" : null,
"latitude" : null,
"createDate" : null,
"updateDate" : null,
"doctors" : [ ],
"_links" : {
"self" : {
"href" : "http://localhost:8080/clinicfinder/api/clinic/1"
},
"clinic" : {
"href" : "http://localhost:8080/clinicfinder/api/clinic/1"
},
"user" : {
"href" : "http://localhost:8080/clinicfinder/api/clinic/1/user"
}
}
}
我试图通过提交一个表单来使用。NET CORE MVC提出一个POST请求。从视图中成功进行调用,如下所示: 我的控制器代码如下所示: formId参数通过fine传递并设置为63,但是report filters对象(如下)只是。如果有关系,课程如下: 到目前为止,我已经阅读了这篇文章和这篇帖子。我尝试从模型中删除属性--没有帮助。我尝试将和预挂起到控制器参数,结果出现了一个415 http错误
问题内容: 我正在尝试使用以下方法将使用jQuery Ajax的数据发布到MVC动作。但是在控制器内部,所有模型属性始终都是。不知道我在这里想念的是什么。 .CSHTML 的JavaScript 控制者 模型 EDIT1 我已经添加了上面的模型。单击保存后,此处显示序列化数据和JSON 数据。 序列化数据 后 我尝试添加属性和没有运气的属性。 我认为不必将返回类型从更改为。 该URL也是正确的,因
我的两个实体有一对一的关系 我尝试通过此方法删除我的用户实体 PasswordResetTokenRepository类,我在服务方法中调用了该类,用于删除用户,我使用了常规Hibernate方法deleteById(Long id) 但是当我尝试通过此方法删除时,出现此错误:not-null 属性引用 null 或瞬态值:kpi.diploma.ovcharenko.entity.user.Pa
问题内容: 我正在使用Spring Data Rest。我在尝试发布具有关联的对象时遇到问题(例如,address是我实体中的一个字段,该字段被映射为多个)。 问题是,我们应使用哪种格式将新实体与其关系联系起来。我看到了几个答案,并尝试了所有发现的选项。不幸的是,他们都不适合我。发生以下错误: 我尝试过的JSON: 还尝试了以下方法: 和这个: 甚至这样: 有没有办法做到这一点,或者只为POST编
我正在尝试使用Google Dataflow和Apache Beam SDK 2.6.0的PubSub实现一次性交付。 用例非常简单: 'Generator'数据流作业将1M消息发送到PubSub主题。 “存档”数据流作业从PubSub订阅中读取消息,并保存到Google云存储中。 我在 Pubsub.IO.Write(“生成器”作业)和 PubsubIO.Read(“存档”作业)中都添加了“带
如果你有这样的课,有没有可能 首先从android上传图像,该图像保存在firebase存储中。在下一步中,您将发布您的姓名、年龄和上次上传图像使用的存储空间,并将此图像与姓名和年龄链接 举个例子 姓名:'John' 年龄:50 url:firebase url图像