gpt4 book ai didi

java - 如何从 Spring Boot Restful GET 调用返回对象属性的子集?

转载 作者:行者123 更新时间:2023-12-02 12:37:08 25 4
gpt4 key购买 nike

新手问题...

我正在构建我的第一个 Spring Boot Restful 服务,并希望支持返回实体集合的 GET 调用。喜欢:

/api/customers/

但是,对于某些消费者(例如 Web UI 中的列表页面),他们只需要客户实体属性的子集。

我想我可以将请求参数添加到我的 GET 调用中以设置消费者特定的字段要求,例如

/api/customers/?fields=id,name,address

但是在 Java Restful Controller 中实现此功能的最佳方法是什么?

目前在我的其余 Controller 中,“GET”请求映射到 Java 方法,例如

@RequestMapping(value="/", method= RequestMethod.GET)
public Customer[] getList() {
Customer[] anArray = new Customer[];
....
return anArray;
}

是否可以以某种方式干预默认的 Java 到 Json 响应正文转换,以便仅包含所需的属性?

TIA

最佳答案

添加fields参数是一个好主意,最佳实践根据http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api#limiting-fields

如何省略字段?

1) 将它们设置为 null,可能在用 @JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL) 注释的专用输出类中

或者

2) 使用SimpleBeanPropertyFilter查看一个很好的分步教程 here 5.使用过滤器忽略字段

关于java - 如何从 Spring Boot Restful GET 调用返回对象属性的子集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45096105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com