Francesco Di Sciascio
09/09/2022, 8:18 AMroute("/sCap"){
val dao: DAOFacade = DAOFacadeImpl()
get{
val codiceParam = call.request.queryParameters["codice"]
val listSCap = dao.allSCapFiltered(codiceParam)
if(listSCap.isEmpty())
call.respondText("Nessun elemento trovato", status = HttpStatusCode.NotFound)
else
call.respond(listSCap)
}
...
}
and in the DAO:
override suspend fun allSCapFiltered(codice: String?): List<SCap> {
return if(codice.isNullOrEmpty()){
DatabaseFactory.dbQuery {
S_Cap.selectAll().map(::resultRowToSCap)
}
} else {
DatabaseFactory.dbQuery {
S_Cap
.select { S_Cap.codice like "%$codice%" }
.map(::resultRowToSCap)
}
}
}
is there a way to manage all the parameters expected dynamically, based on properties of data class?
data class SCap(val idcap: Int?,
val regione: String?,
val prov: String?,
val comune: String?,
val cap: Int?,
val codice: String?
)
Thanks everyone for suggestions!Aleksei Tirman [JB]
09/09/2022, 8:28 AMSCap
data class?Francesco Di Sciascio
09/09/2022, 8:37 AMAleksei Tirman [JB]
09/09/2022, 8:45 AMFrancesco Di Sciascio
09/09/2022, 8:48 AMFrancesco Di Sciascio
09/09/2022, 9:34 AMFrancesco Di Sciascio
09/12/2022, 6:51 PMparameters.forEach { it, list ->
for(property in S_Cap::class.declaredMemberProperties){
if(property.name == it) { parameters["$it"]?.let{query.andWhere { ??? }}
}
}
}
parameters is of type io.ktor.http.ParametersFrancesco Di Sciascio
09/12/2022, 6:52 PM