Spring Feign 에서 DTO 파라미터를 타 프로젝트로 자동매핑하여 넘겨주려면 DTO에 롬복 @Setter
어노테이션을 명시해주어야 한다.
@Setter
를 명시하지 않은 경우Project A
AAAInfo.java
@Data
public class AAAInfo {
String name;
String address;
Integer age;
}
XXXFeignClient.java
@GetMapping("/info")
Json<?> info(@SpringQueryMap AAAInfo aaaInfo);
Project B
BBBInfo.java
// @Setter 없음
@Builder
@JsonIgnoreProperties(ignoreUnknown = true)
public class BBBInfo {
String name;
String address;
}
XXXRestController.java
@GetMapping("/info")
public Json<?> info(BBBInfo bbbInfo) {
return Json.create(OOOService.info(bbbInfo));
}
@Setter
를 명시하는 경우Project A
AAAInfo.java
@Data
public class AAAInfo {
String name;
String address;
Integer age;
}
XXXFeignClient.java
@GetMapping("/info")
Json<?> info(@SpringQueryMap AAAInfo aaaInfo);
Project B
BBBInfo.java
@Data // @Setter 명시
@JsonIgnoreProperties(ignoreUnknown = true)
public class BBBInfo {
String name;
String address;
}
XXXRestController.java
@GetMapping("/info")
public Json<?> info(BBBInfo bbbInfo) {
return Json.create(OOOService.info(bbbInfo));
}