1. 컨트롤러 메서드 명명 및 DTO 설계

메서드 이름 제안

DTO 네이밍

자동 매핑 설정

@PostMapping("/customers")
public ResponseEntity<ApiResponse<VisitorDetailResponse>> createCustomer(
    @PathVariable Integer shopId,
    @RequestBody @Valid VisitorCreationDTO request) {

    // @RequestBody 어노테이션 필수!
    // JSON 요청 body가 자동으로 DTO 객체로 매핑됨
    return ResponseEntity.ok(ApiResponse.success(response));
}

2. 날짜 처리 (Date vs LocalDate)

문제점

해결방안

프론트엔드에서 보내는 방식

// ISO 문자열로 변환 (권장)
const requestData = {
    name: formData.name,
    birthday: formData.birthday.toISOString().split('T')[0] // "1990-05-15"
};

// input[type="date"] 사용 시 자동으로 "YYYY-MM-DD" 문자열
<input type="date" {...register('birthday')} />

백엔드 DTO 설정