MismatchedInputException: Cannot deserialize instance
This commit is contained in:
		
							parent
							
								
									dea22a6863
								
							
						
					
					
						commit
						720789d026
					
				| @ -0,0 +1,27 @@ | ||||
| package com.baeldung.mismatchedinputexception; | ||||
| 
 | ||||
| import com.fasterxml.jackson.annotation.JsonProperty; | ||||
| 
 | ||||
| public class Animals { | ||||
| 
 | ||||
|     private final int id; | ||||
|     private String name; | ||||
| 
 | ||||
| 
 | ||||
|     public Animals(@JsonProperty("id") int id, @JsonProperty("name")String name) { | ||||
|         this.id = id; | ||||
|         this.name = name; | ||||
|     } | ||||
| 
 | ||||
|     public int getId() { | ||||
|         return id; | ||||
|     } | ||||
| 
 | ||||
|     public String getName() { | ||||
|         return name; | ||||
|     } | ||||
| 
 | ||||
|     public void setName(String name) { | ||||
|         this.name = name; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,27 @@ | ||||
| package com.baeldung.mismatchedinputexception; | ||||
| 
 | ||||
| public class Book { | ||||
| 
 | ||||
|     private int id; | ||||
|     private String title; | ||||
| 
 | ||||
|     public Book(int id, String title) { | ||||
|         this.id = id; | ||||
|         this.title = title; | ||||
|     } | ||||
| 
 | ||||
|     public Book() { | ||||
|     } | ||||
| 
 | ||||
|     public int getId() { | ||||
|         return id; | ||||
|     } | ||||
| 
 | ||||
|     public String getTitle() { | ||||
|         return title; | ||||
|     } | ||||
| 
 | ||||
|     public void setTitle(String title) { | ||||
|         this.title = title; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,39 @@ | ||||
| package com.baeldung.mismatchedinputexception; | ||||
| 
 | ||||
| import com.fasterxml.jackson.core.JsonProcessingException; | ||||
| import com.fasterxml.jackson.core.type.TypeReference; | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import org.junit.jupiter.api.Test; | ||||
| 
 | ||||
| import java.util.List; | ||||
| 
 | ||||
| import static org.junit.jupiter.api.Assertions.assertEquals; | ||||
| 
 | ||||
| class MismatchedinputExceptionUnitTest { | ||||
| 
 | ||||
|     @Test | ||||
|     void givenJsonString_whenDeserializingToJavaObjectWithImmutableField_thenIdIsCorrect() throws JsonProcessingException { | ||||
|         String jsonString = "{\"id\":10,\"name\":\"Dog\"}"; | ||||
|         ObjectMapper mapper = new ObjectMapper(); | ||||
|         Animals animal = mapper.readValue(jsonString, Animals.class); | ||||
|         assertEquals(animal.getId(),10); | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     void givenJsonString_whenDeserializingToBook_thenIdIsCorrect() throws JsonProcessingException { | ||||
|         String jsonString = "{\"id\":\"10\",\"title\":\"Harry Potter\"}"; | ||||
|         ObjectMapper mapper = new ObjectMapper(); | ||||
|         Book book = mapper.readValue(jsonString, Book.class); | ||||
|         assertEquals(book.getId(),10); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     @Test | ||||
|     void givenJsonString_whenDeserializingToBookList_thenTitleIsCorrect() throws JsonProcessingException { | ||||
|         String jsonString = "[{\"id\":\"10\",\"title\":\"Harry Potter\"}]"; | ||||
|         ObjectMapper mapper = new ObjectMapper(); | ||||
|         List<Book> book = mapper.readValue(jsonString, new TypeReference<List<Book>>(){}); | ||||
|         assertEquals(book.get(0).getTitle(),"Harry Potter"); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user