Spring Boot REST一对一-POST还是PUT?

昵称11:

我正在开发Spring Boot REST api,现在遇到了一些问题logical problem

因此,我拥有一个与实体“ B”具有一对一关系的实体“ A”。最初,实体“ A”是在没有实体“ B”的情况下发布的(->关系为空)。

因此,当我想添加实体“ B”时,我应该简单地将其发布,还是将PUT / PATCH实体“ A”与实体“ B”一起发布?

Nayan:

考虑一个实体的A和B,并采用firstName和lastName字段:

@Entity
public class A {

    @Id
    private Integer id;

    private String firstName;

    @OneToOne(mappedBy = "a")
    private B b; 
}

@Entity
public class B {

    @Id
    private Integer id;
 
    private String lastName;

    @OneToOne
    private A a;
}

存储库为:

@Repository 
 public interface ARepo extends JpaRepository<A,Integer> {
}
@Repository
 public interface BRepo extends JpaRepository<B,Integer> {
}

让我们使用@postContruct在A实体中保存一些数据

@PostConstruct
void init(){
    A a = new A(1,"ABCD");
    aRepo.save(a);
}

保存B实体的控制器:

 @PostMapping("/saveB")
 public String save(@RequestBody B b){
    bRepo.save(b);
    return "ok";
 }

和json保存B实体:

{“ id”:1,“ lastName”:“ xyz”,“ a”:{“ id”:1}}

以我的理解,如果我们从B存储库中保存实体,则需要使用@PostMapping(插入新行),或者我们可以使用A存储库来保存B实体,因为这里使用@PutMapping是双向映射(已经存在数据库中的A数据,我们需要通过添加B的数据来对其进行更新)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Spring Boot +休眠一对一映射

Spring Boot Data JPA:与共享主键的一对一关系

一对一映射获取空值Spring Boot JPA Hibernate

Spring Boot JPA一对一映射会产生StackOverflow错误

Spring Boot休眠一对多关系

无法在一对一关系上插入空对象 Spring boot | 嵌套异常是 .PersistentObjectException: detached entity传递给持久化

如何使用Spring Boot JPA在这两个类之间建立一对一的关系?另外,如何保存实体?

Spring Data JPA一对一可选共享主键

Spring Data JDBC一对一获取

Spring / Hibernate一对一关系与额外的列

Spring JPA一对一映射变为空

Spring Data JPA - 一对一映射双向

Java Spring Link 关联一对一关系

应用容器到cassandra节点-一对一还是?

一对一关系的方法POST

如何配置Spring Boot一对多实体关系

Java Spring Boot中的一对多关系

Spring Boot和MySQL获得一对多关系的请求

Spring Boot中的双向一对多关系上的LazyInitializationException

Spring Boot 一对多构造函数组合

服务与DAO之间的关系应该是一对一还是一对多?

Spring boot rest 忽略一类

计数(唯一)视图 Spring Boot REST

Groovy Spring Boot:如何进行JSON POST,PUT,DELETE?

休眠中的关系映射,一对一还是多对一?

Spring Hibernate查询与非主键的一对一关系

Spring Data JPA在两个查询中加载一对一关系

Spring Data JPA 单向一对一映射不持久

Spring Data JPA休眠一对一映射的堆栈溢出错误