[Spring] @RequestBody 가 List일때 Validation체크 v2

yeonjoo913·2023년 7월 9일
0

Spring

목록 보기
8/19

지난 글에서는 검색 시 가장 많이 나오는 custom validator를 생성하여 List 객체의 validation 체크를 하였다. 하지만 현재 Rest API를 사용할때 JSON형식으로 주고받고 있기 때문에 이것을 형식을 유지하고 custom validator를 사용하지 않는 쉬운 방식을 써보고자 한다.

해결방안

List를 직접 받지 않고 Request용 DTO Class를 만들어서 List를 받도록 포함하면된다.

Controller

public ResponseEntity<CommonResponse<Object>> updateFaqCategoryOrder(
            @RequestBody @Valid FaqRequest request) {
            ...
}

Request DTO
List에 @Valid를 붙어야 FaqOrder 객체 내부에 @NotNull과 같은 조건이 제대로 먹힌다.

@Data
public class FaqRequest {

    @Schema(type = "List")
    @Valid
    @NotEmpty
    private List<FaqOrder> faqOrders;

}

FaqOrder

public class FaqOrder {
    @NotNull
    private Long id;
    @NotNull 
    private Integer sortNo;

}
profile
주니어 백엔드 개발자. 까먹는다 기록하자!

0개의 댓글