API 테스트 내용을 토대로 구현 완성함.

Spring Data REST 테스트 제외 처리

이것은 이 프로젝트의 비즈니스 로직으로 구현한 내용이 아니라 data rest 기능이고, 통합테스트라 무거우며 db 에도 영향을 준다. 공부 목적으로도 의미는 있기 때문에 삭제하지는 않고 제외 처리해서 전체 테스트 중에 실행되지 않게끔 처리

DataRestTest.java 에 @Disabled annotation 추가해줌.

Querydsl 디펜던시 및 설정 .gitignore 추가

Querydsl 사용할 수 있는 환경을 구성. 자동 생성 클래스는 프로젝트에 포함되면 안되므로 .gitignore 로 제외

### Querydsl
/src/main/generated
// queryDSL 설정
    implementation "com.querydsl:querydsl-jpa"
    implementation "com.querydsl:querydsl-core"
    implementation "com.querydsl:querydsl-collections"
    annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa" // querydsl JPAAnnotationProcessor 사용 지정
    annotationProcessor "jakarta.annotation:jakarta.annotation-api" // java.lang.NoClassDefFoundError (javax.annotation.Generated) 대응 코드
    annotationProcessor "jakarta.persistence:jakarta.persistence-api" // java.lang.NoClassDefFoundError (javax.annotation.Entity) 대응 코드
}

// Querydsl 설정부
def generated = 'src/main/generated'

// querydsl QClass 파일 생성 위치를 지정
tasks.withType(JavaCompile) {
    options.getGeneratedSourceOutputDirectory().set(file(generated))
}

// java source set 에 querydsl QClass 위치 추가
sourceSets {
    main.java.srcDirs += [ generated ]
}

// gradle clean 시에 QClass 디렉토리 삭제
clean {
    delete file(generated)
}

Querydsl 지원을 이용하여 api 검색 옵션 추가

``QuerydslPredicateExecutor QuerydslBinderCustomizer 를 이용하여 간단하게 개발