diff --git a/app/controllers/nwbib/Application.java b/app/controllers/nwbib/Application.java index 1f05c6c..90930e7 100644 --- a/app/controllers/nwbib/Application.java +++ b/app/controllers/nwbib/Application.java @@ -1003,7 +1003,7 @@ private static JsonNode transform(JsonNode jsonBody) private static Promise addToLobidData(JsonNode transformedJson) { String lobidUrl = transformedJson.get("hbzId").textValue(); - WSRequest lobidRequest = WS.url(lobidUrl).setHeader("Content-Type", "application/json"); + WSRequest lobidRequest = WS.url(lobidUrl).setQueryParameter("format", "json"); Promise lobidPromise = lobidRequest.get().map(WSResponse::asJson); Promise merged = lobidPromise.map(lobidJson -> mergeRecords(transformedJson, lobidJson)); return merged; @@ -1011,6 +1011,7 @@ private static Promise addToLobidData(JsonNode transformedJson) { private static JsonNode mergeRecords(JsonNode transformedJson, JsonNode lobidJson) throws JsonMappingException, JsonProcessingException { + lobidJson = lobidJson.has("member") ? lobidJson.get("member").iterator().next() : lobidJson; ObjectMapper objectMapper = new ObjectMapper(); MapType mapType = TypeFactory.defaultInstance().constructMapType(Map.class, String.class, Object.class); Map transformedMap = objectMapper.readValue(transformedJson.toString(), mapType);