已关闭。此问题需要details or clarity。目前不接受回答。
**要改进此问题吗?**通过editing this post添加详细信息并阐明问题。
7天前关闭
Improve this question的
我有一个API,它有两个实体,USER和ADDRESS,在一对多的关系中,使用Spring JPA。当为用户发出GET请求时,我收到以下JSON:
[
{
"id": 1,
"name": "David",
"addresses": {
"id": 1,
"address": "Avenue 2"
}
}
]
字符串
当对一个地址进行GET请求时,我会收到以下JSON:
[
{
"id": 1,
"address": "Avenue 2"
}
]
型
类用户
@Entity
@Table(name = "user")
public class User {
// Atributos
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
@OneToMany(mappedBy = "user")
private List<Address> addresses = new ArrayList<>();
}
型
类地址
@Entity
@Table(name = "address")
public class Address {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String address;
@ManyToOne(optional = false)
@JsonIgnore
@JoinColumn(name = "user_id")
private User user;
}
型
我需要在HTML中列出地址和与每个地址相关联的用户名,但是我没有办法通过GET请求在地址处生成的JSON来检索用户名。
1条答案
按热度按时间qxgroojn1#
你有两个选择:
1.从User属性的Address实体中删除@JsonIgnore,并将其添加到List属性的User实体中。它有一个负面的方面,即对User资源的API调用不会返回地址。
1.另一种方法是创建一个DTO对象,您可以根据需要使用它。您可以向您的存储库发出请求,并根据需要将响应分配给DTO。简短的示例:
AddressUserDto = new AddressUserDto(user, address)