Add two JsonGetter examples
This commit is contained in:
parent
e02f7825a3
commit
5bd907aa01
video-tutorials/jackson-annotations/src
main/java/com/baeldung/jacksonannotation/serialization/jsongetter
test/java/com/baeldung/jacksonannotation/serialization/jsongetter
33
video-tutorials/jackson-annotations/src/main/java/com/baeldung/jacksonannotation/serialization/jsongetter/Author1.java
Normal file
33
video-tutorials/jackson-annotations/src/main/java/com/baeldung/jacksonannotation/serialization/jsongetter/Author1.java
Normal file
@ -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<Item> items = new ArrayList<>();
|
||||||
|
|
||||||
|
public Author1(String firstName, String lastName) {
|
||||||
|
super(firstName, lastName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonGetter
|
||||||
|
public List<Item> getItems() {
|
||||||
|
return items;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setItems(List<Item> items) {
|
||||||
|
this.items = items;
|
||||||
|
}
|
||||||
|
}
|
@ -14,11 +14,11 @@ import java.util.List;
|
|||||||
* @author Alex Theedom www.baeldung.com
|
* @author Alex Theedom www.baeldung.com
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
*/
|
*/
|
||||||
public class Author extends Person {
|
public class Author2 extends Person {
|
||||||
|
|
||||||
List<Item> items = new ArrayList<>();
|
List<Item> items = new ArrayList<>();
|
||||||
|
|
||||||
public Author(String firstName, String lastName) {
|
public Author2(String firstName, String lastName) {
|
||||||
super(firstName, lastName);
|
super(firstName, lastName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -27,6 +27,7 @@ public class Author extends Person {
|
|||||||
return items;
|
return items;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void setItems(List<Item> items) {
|
public void setItems(List<Item> items) {
|
||||||
this.items = items;
|
this.items = items;
|
||||||
}
|
}
|
@ -16,10 +16,33 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||||||
public class JsonGetterTest {
|
public class JsonGetterTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void whenSerializingUsingJsonGetter_thenCorrect() throws JsonProcessingException {
|
public void whenSerializingUsingJsonGetter_andNoPropertyNameSet_thenCorrect() throws JsonProcessingException {
|
||||||
|
|
||||||
// arrange
|
// 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
|
// act
|
||||||
String result = new ObjectMapper().writeValueAsString(author);
|
String result = new ObjectMapper().writeValueAsString(author);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user