FeignClient.java
@PostMapping("/xxx")
Response test(final Request request);
위 Feign Client
를 통해 API를 호출 할 경우, API 응답 값이 응답 객체 Response
에 자동으로 잘 세팅되지 않는 이슈가 발생할 수 있다.
특히, 3 Depth
이상 필드가 null
로 세팅되는 경우가있다. ( 1, 2 Depth
필드는 잘 세팅될 때 )
Response.java
{
A: xx, // 잘 세팅 됨
B: {
B1: aa,
B2: bb,
B3: {
BB1: null, // null
BB2: null,
BB3: null
}
},
C: yy
}
해결
null
로 세팅되는 DTO 필드에 @JsonProperty
어노테이션을 추가한다. 또한, 롬복 @Setter
또는 @Data
어노테이션을 추가한다. @Builder
만 있을 시 오류!
import com.fasterxml.jackson.annotation.JsonProperty;
@Data
class B3 {
@JsonProperty("BB1")
private String BB1;
@JsonProperty("BB2")
private String BB2;
@JsonProperty("BB3")
private String BB3;
}