这里相当新的Spring开发者..
我在过去几天一直在使用Spring,并设法使用JPA和Spring Rest创建一个简单的CRUD API。现在,我希望能够灵活地更改返回的JSON的组成方式。
例如,我有以下简单的实体:
Table Name: Category
- category_id
- category_name
GET请求返回以下JSON:
{
categoryName: "Category 1",
_links: {
self: {
href: "http://localhost:8080/faqsCategories/1"
},
faqsCategory: {
href: "http://localhost:8080/faqsCategories/1"
},
faqsContent: {
href: "http://localhost:8080/faqsCategories/1/faqsContent"
}
}
}
现在我要删除_links
部分并添加其他内容..
春天有可能吗?
类:
FaqsCategory(实体)
@Entity
@Table(name = "faqs_category")
public class FaqsCategory {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long categoryId;
private String categoryName;
@OneToMany(targetEntity = FaqsContent.class, mappedBy = "faqsCategory")
private Set<FaqsContent> faqsContent = new HashSet<>();
protected FaqsCategory() {
}
.....
}
FaqsCategoryRepository
@RepositoryRestResource
public interface FaqsCategoryRepository extends JpaRepository<FaqsCategory, Long> {
}
答案 0 :(得分:0)
解决方案是使用@JsonProperty("...")
,在您的情况下应该看起来像
@JsonProperty("links")
@OneToMany(targetEntity = FaqsContent.class, mappedBy = "faqsCategory")
private Set<FaqsContent> faqsContent = new HashSet<>();
“links”将是您的json响应中出现的名称而不是“_links”