2013-02-08 2 views
3

У меня есть конечная точка отдыха, которая возвращает List<VariablePresentation>. Я пытаюсь проверить эту конечную точку покоя какRestEasy: org.codehaus.jackson.map.JsonMappingException: не удается десериализовать экземпляр java.util.ArrayList из токена START_OBJECT (..)

@Test 
    public void testGetAllVariablesWithoutQueryParamPass() throws Exception { 
     final ClientRequest clientCreateRequest = new ClientRequest("http://localhost:9090/variables"); 
     final MultivaluedMap<String, String> formParameters = clientCreateRequest.getFormParameters(); 
     final String name = "testGetAllVariablesWithoutQueryParamPass"; 
     formParameters.putSingle("name", name); 
     formParameters.putSingle("type", "String"); 
     formParameters.putSingle("units", "units"); 
     formParameters.putSingle("description", "description"); 
     formParameters.putSingle("core", "true"); 

     final GenericType<List<VariablePresentation>> typeToken = new GenericType<List<VariablePresentation>>() { 
     }; 
     final ClientResponse<List<VariablePresentation>> clientCreateResponse = clientCreateRequest.post(typeToken); 
     assertEquals(201, clientCreateResponse.getStatus()); 
     final List<VariablePresentation> variables = clientCreateResponse.getEntity(); 
     assertNotNull(variables); 
     assertEquals(1, variables.size()); 

    } 

Этот тест завершается неудачей с ошибкой о том,

org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token(..) 

Как я могу решить эту проблему?

ответ

6

Это похоже на ошибку Джексона, где он ожидает разбора массива (который начинается с «[»), но он встречает начальный токен для объекта ('{'). От взгляда на ваш код, я предполагаю, что он пытается десериализовать JSON в ваш список, но он получает JSON для объекта.

Как выглядит конечная точка JSON, на которой работает ваш REST? Это должно выглядеть так:

[ 
    { 
     // JSON for VariablePresentation value 0 
     "field0": <some-value> 
     <etc...> 
    }, 
    <etc...> 
] 
Смежные вопросы