restcontroller 상속받은 클래스 초기화 문제??

ideafy·2025년 1월 2일

프로젝트

목록 보기
12/25

문제상황

원래 하려던 거: 비회원주문은 orderType이 어떻게 들어와도 NON_MEMBER_ORDER로 고정되게 하고 싶었음.

근데 실제 결과는 그렇지 않음

기존 코드

@Getter
public class NonMemberOrderRequestDto extends OrderRequestDto {
    @NotBlank
    private String nonMemberPassword;

    public NonMemberOrderRequestDto(@Nullable LocalDate deliveryWishDate, Integer usedPoint,
                                    OrderDeliveryAddressDto orderDeliveryAddress, List<OrderProductRequestDto> orderProducts) {
        super(OrderType.NON_MEMBER_ORDER, deliveryWishDate, usedPoint, orderProducts, orderDeliveryAddress);
    }
}

수정한 코드

@Getter
public class NonMemberOrderRequestDto extends OrderRequestDto {
    @NotBlank
    private String nonMemberPassword;

    @JsonProperty(access = JsonProperty.Access.READ_ONLY)
    private final OrderType orderType = OrderType.NON_MEMBER_ORDER;

    public NonMemberOrderRequestDto(@Nullable LocalDate deliveryWishDate, Integer usedPoint,
                                    OrderDeliveryAddressDto orderDeliveryAddress, List<OrderProductRequestDto> orderProducts) {
        super(OrderType.NON_MEMBER_ORDER, deliveryWishDate, usedPoint, orderProducts, orderDeliveryAddress);
    }
}

결과

@JsonProperty(access = JsonProperty.Access.READ_ONLY)를 설정해서 입력받지 않게 함

profile
재밌게 공부하고 싶어요

0개의 댓글