Back End/유지보수

Dynamic DTO 만들기

DevPing9_ 2023. 5. 8. 18:04

 

우리는 가끔 마주한다.

 

Third-Party API 의 응답값이 동적으로 오는 경우를 말이다.

 

 

 

 

무시무시한 API


우리는 이러한 응답을 받고, API 제공자에게 `event=true` 이면 가격은 0원이라는 어마어마한 비지니스 로직을 전달받는다.

 

...그래... 그럴 수 있지... 이럴 때 Response DTO 를 작성하는 법을 기록한다. (더 좋은 방법이 있다면 업데이트 하겠습니다.)


 

Dynamic DTO 만들기


data class ProductApiResponse(
    val name: String,
    
    @JsonProperty("price", required = false)
    val price: Int?,
    
    @JsonProperty("event", required = false)
    val event: Boolean?,
)

 

 

 

 

728x90