googleapis / googleapis/google-cloud-java
[java-firestore] Firestore - surprising behavior of object mapping annotations
- Ngôn ngữ chính
- Java
- Star
- 2.1k
- Fork
- 1.2k
- Merge trung bình
- 1 ngày 23 giờ
- Pull request đã merge (30 ngày)
- 154
Mô tả
If `com.google.cloud.firestore.annotation.Exclude` annotation used on a property, but not on a getter, it is ignored. The same is true for `@PropertyName`
For @PropertyName it gets even more surprising if the property is public and there is a public getter. In that case a field is duplicated, one instance under the property's name and the other one under the getter's name.
Example that replicates the issue:
```java
class User {
@PropertyName("user_name")
public String name;
@Exclude
private Integer age;
public User(String name, Integer age) {
this.name = name;
this.age = age;
}
public User() {
}
public String getName() {
return name;
}
public Integer getAge() {
return age;
}
}
```
This would produce the following fields:
```
{age=integer_value: 29
, name=string_value: "abc"
, user_name=string_value: "abc"
}
```
But I would expect this:
```
{
user_name=string_value: "abc"
}
```
Hướng dẫn đóng góp
Đánh giá
Issue này chưa được đánh giá.