【发布时间】:2019-07-26 10:23:23
【问题描述】:
我有 MyEntity 类:
@Entity
@Table("entities)
public class MyEntity {
@ID
private String name;
@Column(name="age")
private int age;
@Column(name="weight")
private int weight;
...getters and setters..
}
在 @RestController 中有 2 个 @GetMapping 方法。 第一个:
@GetMapping
public MyEntity get(){
...
return myEntity;
}
第二个:
@GetMapping("url")
public List<MyEntity> getAll(){
...
return entities;
}
需要提供:
1. @GetMapping 返回在 MyEntity 类 中描述的实体。
2. @GetMapping("url") 返回实体 like 其字段之一是 @JsonIgnore。
更新:
当我返回 myEntity 时,客户端会得到,例如:
{
"name":"Alex",
"age":30,
"weight":70
}
我想在使用相同的同时ENTITY有机会根据网址发送给客户端:
1.
{
"name":"Alex",
"age":30,
"weight":70
}
2.
{
"name":"Alex",
"age":30
}
【问题讨论】:
-
@SergeyChepurnov 对于这样抽象的问题,我深表歉意。我知道与 JPA 和实体合作很热。我知道可以在字段上使用 @JsonIgnore,当我返回 myEntity 客户端时,客户端将收到除 @JsonIgnore 之外的所有字段的 json。
-
但是现在我需要在一个方法中 @GetMapping 返回带有所有字段的 myEntity,但在另一种方法中 @GetMapping 带有另一个 URL 我想返回相同的 myEntity 但没有它的某些字段
-
我希望 JsonView 注释有效。
标签: java spring rest spring-boot jpa