我正在使用Spring Boot,Spring Data JPA和Spring Data Rest技术开发一个Web项目。我能够成功设置所有内容并能够获得简单POJO的JSON。我已经定制了两个类来实现OneToMany和ManyToOne这样的关系: -
@Entity
@Table(name="t_profile")
public class Profile {
@Id
@column(name="profile_id")
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String name;
@JoinColumn(name = "cat_id", referencedColumnName = "category_id")
@ManyToOne(optional=false)
private Category category;
// getters and setters
}
@Entity
@Table(name="t_category")
public class Category {
@Id
@column(name="category_id")
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String name;
@OneToMany(mappedBy="category")
private List<Profile> profile;
// getters and setters
}
http://localhost:8080/project/profiles
当我使用rest客户端访问配置文件时;我能够获得带有id,name字段的json格式,但是ManyToOne字段不是来自json,在控制器中调试,配置文件列表具有类别的值。但它并没有进入json。
有什么想法?
答案 0 :(得分:0)
ManyToOne字段将作为链接出现。这是访问类别,配置文件字段将列在JSON正文中的“_links”下,如下所示:
"_links" : {
"profile" : {
"href" : "http://<host>/<baseUrl>/category/<categoryId>/profile"
}
进一步获取api以下给定类别电话的个人资料详情:
http://<host>/<baseUrl>/category/<categoryId>/profile
答案 1 :(得分:0)
您可以在@RestResource(exported = false)
字段中使用ManyToOne
。