diff --git a/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/consumer/OrganisasjonServiceConsumer.java b/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/consumer/OrganisasjonServiceConsumer.java index aa98e03918..2affeb18fd 100644 --- a/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/consumer/OrganisasjonServiceConsumer.java +++ b/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/consumer/OrganisasjonServiceConsumer.java @@ -42,9 +42,9 @@ public Flux> getStatus(Set orgnummere, Set< return tokenExchange.exchange(serverProperties) .flatMapMany(token -> Flux.fromIterable(miljoer) - .map(orgnr -> Flux.fromIterable(orgnummere) - .flatMap(miljoe -> new OrganisasjonServiceCommand(webClient, orgnr, miljoe, token.getTokenValue()).call()) - .collect(Collectors.toMap(orgMap -> orgnr, orgMap -> orgMap)))) + .map(miljoe -> Flux.fromIterable(orgnummere) + .flatMap(orgnr -> new OrganisasjonServiceCommand(webClient, orgnr, miljoe, token.getTokenValue()).call()) + .collect(Collectors.toMap(orgMap -> miljoe, orgMap -> orgMap)))) .flatMap(Mono::flux); } } diff --git a/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/controller/OrganisasjonController.java b/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/controller/OrganisasjonController.java index f6bb375175..d669871f8f 100644 --- a/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/controller/OrganisasjonController.java +++ b/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/controller/OrganisasjonController.java @@ -19,6 +19,7 @@ import no.nav.organisasjonforvalter.service.OrganisasjonService; import no.nav.testnav.libs.servletsecurity.action.GetAuthenticatedId; import org.springframework.cache.annotation.CacheEvict; +import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -34,7 +35,7 @@ import static no.nav.organisasjonforvalter.config.CacheConfig.CACHE_BEDRIFT; @RestController -@RequestMapping("api/v2/organisasjoner") +@RequestMapping(value = "api/v2/organisasjoner", produces = MediaType.APPLICATION_JSON_VALUE) @RequiredArgsConstructor public class OrganisasjonController { diff --git a/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/dto/responses/OrdreResponse.java b/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/dto/responses/OrdreResponse.java index 6da8c8bd52..2f6eb60a52 100644 --- a/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/dto/responses/OrdreResponse.java +++ b/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/dto/responses/OrdreResponse.java @@ -28,6 +28,6 @@ public static class StatusEnv { private String environment; private StatusDTO.Status status; private String details; - private JsonNode error; + private Object error; } } diff --git a/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/service/OrdreStatusService.java b/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/service/OrdreStatusService.java index a69521027c..8e7c107fe0 100644 --- a/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/service/OrdreStatusService.java +++ b/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/service/OrdreStatusService.java @@ -117,21 +117,23 @@ public OrdreResponse getStatus(List orgnumre) { .collect(Collectors.groupingBy(BestillingStatus::getOrgnummer)) .entrySet().stream() .collect(Collectors.toMap(Map.Entry::getKey, org -> org.getValue().stream() - .map(value -> { - try { - return StatusEnv.builder() - .status(nonNull(value.getStatus()) ? value.getStatus().getStatus() : ERROR) - .details(nonNull(value.getStatus()) ? value.getStatus().getDescription() : "Se feilbeskrivelse") - .environment(value.getMiljoe()) - .error(nonNull(value.getFeilmelding()) ? - objectMapper.readValue(value.getFeilmelding(), JsonNode.class) : - null) - .build(); - } catch (JsonProcessingException e) { - throw new RuntimeException(e); - } - }) + .map(value -> StatusEnv.builder() + .status(nonNull(value.getStatus()) ? value.getStatus().getStatus() : ERROR) + .details(nonNull(value.getStatus()) ? value.getStatus().getDescription() : "Se feilbeskrivelse") + .environment(value.getMiljoe()) + .error(convertFeilmelding(value.getFeilmelding())) + .build()) .toList()))) .build(); } + + private Object convertFeilmelding(String feilmelding) { + + try { + return isNotBlank(feilmelding) ? objectMapper.readValue(feilmelding, JsonNode.class) : null; + + } catch (JsonProcessingException e) { + return feilmelding; + } + } }