extend REST API and introduce QueryDSL