我有以下问题
我有一个spring data rest的基本配置(没有花哨的东西,也没有自定义的东西)。
使用spring-data-rest-webmvc 2.0.0版本和spring-data-jpa 1.5.0版本
A类
@Entity
public class A {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id
private String name;
@ManyToMany
private List<B> b;
// getters setters
}B类
@Entity
public class B {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id
private String nameb;
@ManyToMany(mappedBy = "b")
private List<A> a;
// getters setters
}存储库A
@Repository
@RestResource(rel = "a", path = "a")
public interface ARepository extends PagingAndSortingRepository<A, Integer> {
}存储库B
@Repository
@RestResource(rel = "b", path = "b")
public interface BRepository extends PagingAndSortingRepository<B, Integer> {
}当我保存一个实体时,工作正常,但我不知道如何保存关系
例如,使用http将"A“保存在"B”中
这是我从这个答案中尝试的最后一件事https://stackoverflow.com/a/13031580/651948
POST http://localhost:8080/api/a
{
"name": "Name of A",
"b": {
"rel": "b",
"href": "http://localhost:8080/api/b/1"
}
}我得到了一个201http代码,但没有保存实体。
是不是已经有人试过了?
发布于 2014-08-13 02:57:18
试着只使用URL。
POST http://localhost:8080/api/a
Content-Type: application/json
{
"name" : "Name of A",
"b": "http://localhost:8080/api/b/1"
}或者,在你的情况下,可能是
"b" : ["http://localhost:8080/api/b/1"]因为A.b是一个列表,因此您提交了一个数组。不过,并没有对此进行测试。
从Spring2.0(参见Spring Data Rest 2.0.0.RELEASE Breaks Code Working Previously With RC1)开始,这应该是有效的方法,它对我很有效。
https://stackoverflow.com/questions/22676452
复制相似问题