Java / Kotlin - как создать метод для конечной точки с динамическими параметрами запроса - PullRequest
0 голосов
/ 06 октября 2018

Я работаю над методом, который возвращает меня, например, «store» по id и некоторым параметрам динамического запроса.Я сделал метод, который возвращает мне все магазины, но только по идентификатору.

Это мой метод с идентификатором и двумя необязательными вещами:

override fun retriveStoresByDatabaseId(databaseId: String, pageSize: Int, pageNumber: Int): List<StoreDto> {
    val sq = SearchQuery()
    sq.setSearchParam("databaseId", databaseId)
    sq.setPageNumber(pageNumber)
    sq.setPageSize(pageSize)
    val stores: MutableList<StoreDto> = mutableListOf()
    storeRepository.findAll(sq).forEach {
        stores.add(DtoHelper.toDto(it, ""))
    }
    return stores
}

В классе модели магазина у меня есть список, в котором есть все атрибуты (то есть тип), в моем запросе я хочуотправить тело, которое является картой, и значения мои динамические параметры.Тогда я хочу получить значение только эти аргументы, которые равны значениям в карте.Можете ли вы дать мне несколько советов, как составить список с каждым динамическим параметром?

1 Ответ

0 голосов
/ 06 октября 2018

Вот поиск, который использует имя в качестве входных данных и возвращает идентификатор и имя

    fun getOneName(name: String): Contact? {
    val db = this.writableDatabase
    val selectQuery = "SELECT  * FROM $TABLE_NAME WHERE $colName = ?"
    db.rawQuery(selectQuery, arrayOf(name)).use { // .use requires API 16
        if (it.moveToFirst()) {
            val result = Contact()
            result.id = it.getInt(it.getColumnIndex(colId))
            result.name = it.getString(it.getColumnIndex(colName))
            return result
        }
    }
    return null
}

Вот тот, который использует ID в качестве входных данных и возвращает данные из childList

    fun queryALL(fkI: Int): List<ModelChild> {
    val db = this.writableDatabase
    val childList = ArrayList<ModelChild>()
    val selectQuery = "SELECT  * FROM $CHILD_TABLE WHERE $colCFK = ?"
    //val selectQuery = "SELECT  * FROM ${CHILD_TABLE}"
    val cursor = db.rawQuery(selectQuery, arrayOf(fkI.toString()))
    //val cursor = db.rawQuery(selectQuery, null)
    if (cursor != null) {
        if (cursor.moveToFirst()) {
            do {
                val contact = ModelChild()
                contact.idI = Integer.parseInt(cursor.getString(cursor.getColumnIndex(colidI)))
                contact.item = cursor.getString(cursor.getColumnIndex(colItem))
                contact.fkI = Integer.parseInt(cursor.getString(cursor.getColumnIndex(colCFK)))
                childList.add(contact)
            } while (cursor.moveToNext())
        }
    }
    cursor.close()
    return childList
}

надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...