저지 클라이언트로 옵션 클래스를 얻으려고합니다. 원격 서버가 Optional.empty()
을 반환하면이 오류가 발생합니다.저지 클라이언트로 옵션 클래스를 얻으려면
Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "present" (class java.util.Optional), not marked as ignorable
내 코드
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new Jdk8Module());
Client client = ClientBuilder.newClient().register(new JacksonJsonProvider(mapper));
Optional<MyType> myType = client.target(TARGET_URL)
.path(PATH)
.request()
.get(Optional.class);
내 관련 의존성은
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.9.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jdk8</artifactId>
<version>2.9.1</version>
</dependency>
편집
원격 서버에서 실행되는 스프링 부팅 응용 프로그램입니다 응용 프로그램으로. 앱에 jackson-datatype-jdk8 의존성을 추가했습니다. 이 후 인식 할 수없는 필드 예외이 해결되었지만 반환 개체가 null입니다. 이 전에, 우편 배달부는 다음과 같은 결과
{
"present": false
}
을 반환하지만 지금
null
this? https://github.com/FasterXML/jackson-modules-java8 – Eugene
@Eugene 불행히도, 작동하지 않았다. – Rhododendron