aws / aws/aws-lambda-java-libs

Bug: JSON serialization ignores fields from child classes (Java 8 Lambda runtime works, Java 11 Lambda runtime fails)

Đang mở
#358 6 bình luận 1 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Java
Star
548
Fork
241
Merge trung bình
2 ngày 5 phút
Pull request đã merge (30 ngày)
11

Mô tả

I noticed this issue when updating my lambda function from Java 8 to Java 11, and it seems to be related to the code in this repository.

The problematic situation occurs when a lambda function declares that it returns `TestParent`, but actually returns an instance of `TestChild`:

```java
public class TestParent {

public String parentField = "parentField";
}

public class TestChild extends TestParent {

public String childField = "childField";
}
```

To reproduce the issue, please run the attached test case (maven project): [aws-lambda-json-child-field-bug.zip](https://github.com/aws/aws-lambda-java-libs/files/9210528/aws-lambda-json-child-field-bug.zip)

It should fail with an error like below:
```
org.junit.ComparisonFailure:
Expected :{"parentField":"parentField","childField":"childField"}
Actual :{"parentField":"parentField"}
```

You can see that the fields from `TestChild` are missing. This is the issue, and this seems to be new -- in the Java 8 lambda runtime this worked ok.

Thanks for any help!

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.