title: Feign and HAL/resources
body: <p>I've got a server that exposes resources through spring-data-rest and this uses, as far as I understand HAL or HATEOAS. But when I try to use it in combination with Feign, I can't seem to be able to register a Jackson2HalModule that gets picked up.</p>
  
  <p>Is there something I have to do to connect the Feign "client" to the new converter? Does it use another ObjectMapper than the one I got here?</p>
  
  <p>Code:</p>
  
  <pre><code>@Inject
  public void configureObjectMapper(ObjectMapper mapper, RestTemplate template) {
      mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
      mapper.registerModule(new Jackson2HalModule());
  
      MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
      converter.setSupportedMediaTypes(MediaType.parseMediaTypes("application/hal+json"));
      converter.setObjectMapper(mapper);
  
      template.getMessageConverters().add(converter);
  }
  </code></pre>
  
  <p>Response from server:</p>
  
  <pre><code>{
    "_links" : {
      "self" : {
        "href" : "http://localhost:13372/user{?page,size,sort}",
        "templated" : true
      },
      "search" : {
        "href" : "http://localhost:13372/user/search"
      }
    },
    "_embedded" : {
      "user" : [ {
        "id" : "5567613e5da543dba4201950",
        "version" : 0,
        "created" : "2015-05-28T18:41:02.685Z",
        "createdBy" : "system test",
        "edited" : "2015-05-28T18:41:02.713Z",
        "editedBy" : "system test",
        "username" : "devuser",
        "email" : "dev@test.com",
        "roles" : [ "USER" ],
        "_links" : {
          "self" : {
            "href" : "http://localhost:13372/user/5567613e5da543dba4201950"
          }
        }
      } ]
    },
    "page" : {
      "size" : 20,
      "totalElements" : 1,
      "totalPages" : 1,
      "number" : 0
    }
  }
  </code></pre>
  
  <p>Exception:</p>
  
  <pre><code>Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token
   at [Source: java.io.PushbackInputStream@7b6c6e70; line: 1, column: 1]
      at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:148)
      at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:762)
      at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:758)
      at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.handleNonArray(CollectionDeserializer.java:275)
      at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:216)
      at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:206)
      at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:25)
      at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3066)
      at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2221)
      at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:205)
  </code></pre>