根据spring的用户输入字段发送自定义响应字段



我有一个要求,用户将发送他想要的字段作为响应,而不是整个JSON:

?fields=name,description

基本上我有员工JSON,它有许多字段。但他只想知道你的名字和长相。他也可以用其他字段来改变它。后,他可以选择其他领域和发送请求。

如何实现这一点?

提前感谢。

使用@RequestParam注释访问查询参数

@GetMapping("/api/foos")
public String getFoos(@RequestParam String fields) {
// ...
}

变量fields将包含完整的字符串,因此您必须用分隔符分隔它,例如使用String.split

然后构建所需的响应格式,如果它是一个平面结构,您可以使用Map<String,>,它将被反序列化为一个平面json对象。

Map<String,String> response = new HashMap<>();
response.put("fieldName","value");

https://mkyong.com/java/java-how-to-split-a-string/

显然,这是一种避免数据抓取过度或抓取不足的情况,也是GraphQL API开发的一个很好的例子。一旦使用该模式开发了GraphQL API,未来的更改影响就会减少。客户端可以获取所需的任何字段何时使用graphql

的链接

最新更新