1212import java .util .TimeZone ;
1313
1414import javax .ws .rs .Produces ;
15+ import javax .ws .rs .core .GenericType ;
1516import javax .ws .rs .core .MediaType ;
1617import javax .ws .rs .ext .ContextResolver ;
1718import javax .ws .rs .ext .Provider ;
3738import com .fasterxml .jackson .databind .SerializationFeature ;
3839import com .fasterxml .jackson .databind .SerializerProvider ;
3940import com .fasterxml .jackson .databind .module .SimpleModule ;
41+ import com .fasterxml .jackson .databind .type .CollectionType ;
4042import com .fasterxml .jackson .jaxrs .json .JacksonJaxbJsonProvider ;
4143
4244/**
@@ -132,7 +134,8 @@ public <T> T unmarshal(Class<T> returnType, String postData) throws JsonParseExc
132134 */
133135 public <T > List <T > unmarshalList (Class <T > returnType , Reader reader ) throws JsonParseException , JsonMappingException , IOException {
134136 ObjectMapper objectMapper = getContext (null );
135- return (objectMapper .readValue (reader , new TypeReference <List <T >>() {}));
137+ CollectionType javaType = objectMapper .getTypeFactory ().constructCollectionType (List .class , returnType );
138+ return (objectMapper .readValue (reader , javaType ));
136139 }
137140
138141 /**
@@ -148,7 +151,8 @@ public <T> List<T> unmarshalList(Class<T> returnType, Reader reader) throws Json
148151 */
149152 public <T > List <T > unmarshalList (Class <T > returnType , String postData ) throws JsonParseException , JsonMappingException , IOException {
150153 ObjectMapper objectMapper = getContext (null );
151- return objectMapper .readValue (postData , new TypeReference <List <T >>() {});
154+ CollectionType javaType = objectMapper .getTypeFactory ().constructCollectionType (List .class , returnType );
155+ return (objectMapper .readValue (postData , javaType ));
152156 }
153157
154158 /**
0 commit comments