버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

...

예를 들면 이렇게 변환이 됩니다. 만약 payNumber를 payId 아래에 두지 않고 payId 와 같은 레벨에 두고자 한다면 @JsonUnwrapped annotation이 제격입니다.

코드 블럭
languagejavajs
linenumberstrue
{
    "payId" : 
    {
        "payNumber": 100,
        "paySeq" : 5000
    },
    "payDetailId": 1
}

다음과 같이 펼쳐서 전송하고자 하는 경우 다음과 같이 @JsonUnwrapped annotation을 추가합니다.

코드 블럭
languagejava
linenumberstrue
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
@Entity
@NoArgsConstructor
public class PayDetailId implements Serializable {

    @EqualsAndHashCode.Include
    @JsonUnwrapped
    private PayId payId;

    @EqualsAndHashCode.Include
    @Column
    private Long payDetailId;

    public PayDetailId(PayId payId, Long payDetailId) {
        this.payId = payId;
        this.payDetailId = payDetailId;
    }
}

그러면 아래와 같이 자동 생성됩니다.

코드 블럭
languagejs
linenumberstrue
{
    "payNumber": 100,
    "paySeq": 5000,
    "payDetailId": 1
}

...