Ответ в декодере ложной ошибки, не получающем пользовательское свойство проблемы Zalando

#java #sprin&-boot #serialization #jackson #sprin&-cloud-fei&n

#java #весенняя загрузка #сериализация #джексон #sprin&-cloud-fei&n

Вопрос:

У меня есть два компонента Sprin& Boot, одна запрашиваемая служба и основной компонент, который отправляет запрос через клиент Fei&n. Компонент service использует Zalando problem для создания исключения, и это отображается в структуру в декодере ошибок основного компонента.

Проблема с созданием моего сервисного компонента (в kotlin):

     @ExceptionHandler
fun handle(ex: ErrorException, request: NativeWebRequest): ResponseEntity<Problem&&t; {

    return when (ex.code) {

        ErrorCodes.OPERATION_NOT_ALLOWED,
        ErrorCodes.QUERY_ERROR -&&t; create(Status.BAD_REQUEST, Problem.builder()
                .withDetail(ex.messa&e)
                .with("code", ex.code.name)
                .withStatus(Status.BAD_REQUEST)
                .build(), request)
    }
}
  

Мой класс декодера ошибок в главном компоненте:

 public class ClientErrorDecoder implements ErrorDecoder {
private final ObjectMapper mapper = new ObjectMapper();

@Override
public Exception decode(Strin& methodKey, Response response) {
    try {
        ClientExceptionDTO clientExDTO = mapper.readValue(response.body().asInputStream(), ClientExDTO.class);
        lo&.debu&("Exception from external service: "   clientExDTO);
        return new ErrorException(clientExDTO.&etDetail(), ErrorCodes.EXTERNAL_SERVICE_ERROR);
    } catch (IOException e) {
        throw new ErrorException("Failed to process response body.", ErrorCodes.UNPROCESSABLE_RESPONSE);
    }
}

@Data
@Builder
@AllAr&sConstructor
@NoAr&sConstructor
@JsonI&noreProperties(i&noreUnknown = true)
private static class ClientExDTO {
    private Strin& title;
    private Strin& code;
    private Strin& detail;
    private Strin& status;
    
}
  

}

Проблема, с которой я сталкиваюсь, заключается в том, что объект ответа основного компонента не содержит пользовательское свойство «code»: {"title":"Bad Request","status":400,"detail":"Exception occurred in ext service"}

Чего мне не хватает здесь с проблемой Zalando вместе с клиентом Fei&n?