gpt4 book ai didi

java - Spring Boot 和 Spring Data MongoDB : hiding fields in a ResponseBody

转载 作者:行者123 更新时间:2023-12-01 11:12:49 26 4
gpt4 key购买 nike

我将 Spring Boot 与 spring-boot-starter-data-mongodb 包一起使用。

我已成功创建了一个方法来返回我的应用程序的帐户信息:

public Account queryAccountInfo(String userId) {
Query query = new Query();
query.addCriteria(Criteria.where("userId").is(userId));
return mongoTemplate.findOne(query, Account.class);
}

现在,这将返回 Account 类中的所有信息,这是我创建的自定义类:

    public class Account {

public Account(){}


@Id
private String id;
private String email;
private String token;
}

现在,Spring 将在 ResponseBody 对象中返回整个 Account 对象,因此它将创建与此类似的 JSON:

{
"id": "1234567890",
"email": "Google@google.com",
"token": "XXX-XXX-XXX"}

我不希望它返回“ token ”,因为这是敏感信息。如何让 Spring 不返回“token”字段,而是返回其他所有内容?

我确信有一个 Spring 注释可以让我做到这一点,但我似乎找不到它:http://docs.spring.io/spring-data/commons/docs/current/api/org/springframework/data/annotation/package-frame.html

最佳答案

方法应该是:

query.fields().exclude("token");

关于java - Spring Boot 和 Spring Data MongoDB : hiding fields in a ResponseBody,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32157307/

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