diff --git a/video-tutorials/jackson-annotations/src/main/java/com/baeldung/jacksonannotation/serialization/jsongetter/Author1.java b/video-tutorials/jackson-annotations/src/main/java/com/baeldung/jacksonannotation/serialization/jsongetter/Author1.java new file mode 100644 index 0000000000..637def5747 --- /dev/null +++ b/video-tutorials/jackson-annotations/src/main/java/com/baeldung/jacksonannotation/serialization/jsongetter/Author1.java @@ -0,0 +1,33 @@ +package com.baeldung.jacksonannotation.serialization.jsongetter; + + +import com.baeldung.jacksonannotation.domain.Item; +import com.baeldung.jacksonannotation.domain.Person; +import com.fasterxml.jackson.annotation.JsonGetter; + +import java.util.ArrayList; +import java.util.List; + +/** + * Source code github.com/eugenp/tutorials + * + * @author Alex Theedom www.baeldung.com + * @version 1.0 + */ +public class Author1 extends Person { + + List items = new ArrayList<>(); + + public Author1(String firstName, String lastName) { + super(firstName, lastName); + } + + @JsonGetter + public List getItems() { + return items; + } + + public void setItems(List items) { + this.items = items; + } +} diff --git a/video-tutorials/jackson-annotations/src/main/java/com/baeldung/jacksonannotation/serialization/jsongetter/Author.java b/video-tutorials/jackson-annotations/src/main/java/com/baeldung/jacksonannotation/serialization/jsongetter/Author2.java similarity index 87% rename from video-tutorials/jackson-annotations/src/main/java/com/baeldung/jacksonannotation/serialization/jsongetter/Author.java rename to video-tutorials/jackson-annotations/src/main/java/com/baeldung/jacksonannotation/serialization/jsongetter/Author2.java index eccc306b45..28f2ed1484 100644 --- a/video-tutorials/jackson-annotations/src/main/java/com/baeldung/jacksonannotation/serialization/jsongetter/Author.java +++ b/video-tutorials/jackson-annotations/src/main/java/com/baeldung/jacksonannotation/serialization/jsongetter/Author2.java @@ -14,11 +14,11 @@ import java.util.List; * @author Alex Theedom www.baeldung.com * @version 1.0 */ -public class Author extends Person { +public class Author2 extends Person { List items = new ArrayList<>(); - public Author(String firstName, String lastName) { + public Author2(String firstName, String lastName) { super(firstName, lastName); } @@ -27,6 +27,7 @@ public class Author extends Person { return items; } + public void setItems(List items) { this.items = items; } diff --git a/video-tutorials/jackson-annotations/src/test/java/com/baeldung/jacksonannotation/serialization/jsongetter/JsonGetterTest.java b/video-tutorials/jackson-annotations/src/test/java/com/baeldung/jacksonannotation/serialization/jsongetter/JsonGetterTest.java index 2aa97e0baf..4df2e98cab 100644 --- a/video-tutorials/jackson-annotations/src/test/java/com/baeldung/jacksonannotation/serialization/jsongetter/JsonGetterTest.java +++ b/video-tutorials/jackson-annotations/src/test/java/com/baeldung/jacksonannotation/serialization/jsongetter/JsonGetterTest.java @@ -16,10 +16,33 @@ import static org.assertj.core.api.Assertions.assertThat; public class JsonGetterTest { @Test - public void whenSerializingUsingJsonGetter_thenCorrect() throws JsonProcessingException { + public void whenSerializingUsingJsonGetter_andNoPropertyNameSet_thenCorrect() throws JsonProcessingException { // arrange - Author author = new Author("Alex", "Theedom"); + Author1 author = new Author1("Alex", "Theedom"); + + // act + String result = new ObjectMapper().writeValueAsString(author); + + // assert + assertThat(from(result).getList("items")).isNotNull(); + + /* + { + "firstName": "Alex", + "lastName": "Theedom", + "items": [] + } + */ + + } + + + @Test + public void whenSerializingUsingJsonGetter_andPropertyNameSet_thenCorrect() throws JsonProcessingException { + + // arrange + Author2 author = new Author2("Alex", "Theedom"); // act String result = new ObjectMapper().writeValueAsString(author);