问题描述
我正在玩Quarkus,并试图构建一个CRUD REST应用程序;我正在尝试让2个端点返回相同实体的2个不同视图。这是一个有关我在Spring + Jackson中的工作方式的示例:
@Entity
public class Car{
public String model;
@ManyToOne( fetch = FetchType.LAZY,cascade = {CascadeType.ALL})
public Owner owner;
// [...]
}
@Entity
public class Owner{
public String name;
// [...]
}
这是重要的部分::现在,如果我使用杰克逊,我会创建一个CarView
类:
public class CarView {
public static class Public {};
public static class Private extends Public {};
}
然后我将用Car.model
注释@JsonView(CarView.Public.class)
,用Car.owner
注释@JsonView(CarView.Private.class)
,然后在REST控制器中用相同的注释注释我的方法,以便告诉杰克逊我想使用哪个视图:
@RequestMapping("/car/{id}")
@JsonView(CarView.Public.class)
public Car getPublic(@PathVariable int id) { /*...*/ }
@RequestMapping("/car/private/{id}")
@JsonView(CarView.Private.class)
public Car getPrivate(@PathVariable int id) { /*...*/ }
我可以使用Quarkus和JSON-B完成相同的结果吗?
解决方法
Quarkus目前没有任何相似之处,但是如果您打开了一个Github问题来解释您想要看到的内容,那就太好了。