From 143ae89c6d366832750e305d9a884b5f33fd49b8 Mon Sep 17 00:00:00 2001 From: Jon Brisbin Date: Tue, 11 Sep 2012 08:30:05 -0500 Subject: [PATCH] DATAREST-47 Skip links property when value is null, not just an empty list. --- .../data/rest/webmvc/json/RepositoryAwareJacksonModule.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/json/RepositoryAwareJacksonModule.java b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/json/RepositoryAwareJacksonModule.java index a231d92b3..f691637d4 100644 --- a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/json/RepositoryAwareJacksonModule.java +++ b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/json/RepositoryAwareJacksonModule.java @@ -261,6 +261,8 @@ public class RepositoryAwareJacksonModule extends SimpleModule implements Initia while((tok = jp.nextToken()) != JsonToken.END_ARRAY) { // Advance past the links } + } else if(tok == JsonToken.VALUE_NULL) { + // skip null value } else { throw new HttpMessageNotReadableException( "Property 'links' is not of array type. Either eliminate this property from the document or make it an array."); @@ -282,7 +284,7 @@ public class RepositoryAwareJacksonModule extends SimpleModule implements Initia } if((tok = jp.nextToken()) == JsonToken.START_ARRAY) { - while((tok = jp.nextToken()) != JsonToken.END_ARRAY) { + while((tok = jp.nextToken()) != JsonToken.END_ARRAY) { Object cval = jp.readValueAs(attrMeta.elementType()); c.add(cval); } @@ -301,7 +303,7 @@ public class RepositoryAwareJacksonModule extends SimpleModule implements Initia } if((tok = jp.nextToken()) == JsonToken.START_ARRAY) { - while((tok = jp.nextToken()) != JsonToken.END_ARRAY) { + while((tok = jp.nextToken()) != JsonToken.END_ARRAY) { Object sval = jp.readValueAs(attrMeta.elementType()); s.add(sval); }