postgrest-kt icon indicating copy to clipboard operation
postgrest-kt copied to clipboard

Internal Map doesn't allow url params with the same keys

Open prilaga opened this issue 2 years ago • 3 comments

  val postgrestClient = PostgrestDefaultClient(
                    uri = URI("https://......."),
                    headers = mapOf("piu" to "kjxhzfldjfglekjblcnakuefhlk")
                )

                return postgrestClient.from<Message>("table_name")
                    .select("*")
                    .ilike("key", "%hello%")
                    .gt("like", 1_000_000) // Greater than
                    .lt("like", 3_000_000) // Less than
                    .order("like", false)
                    .limit(10)
                    .execute()

"value", 1_000_000 - will never be added to the request, because internal map will rewrite it with "value", 3_000_000 Recommendation to use multi map and then build a request.

prilaga avatar Dec 29 '22 07:12 prilaga

You should use the

rangeGt rangeGte and etc.

ponytailer avatar Jan 29 '23 07:01 ponytailer

@ponytailer Could you please write an example, how to use it? What is the format of range parameter in the method? For example int field "count" - range: "500, 600" or "[500,600]" or "{500,600}".

fun rangeGt(column: String, range: String): PostgrestFilterBuilder<T> {
        setSearchParam(column, "sr.${range}")
        return this
    }

prilaga avatar Jan 29 '23 11:01 prilaga

@ponytailer Could you please write an example, how to use it?

What is the format of range parameter in the method?

For example int field "count" - range: "500, 600" or "[500,600]" or "{500,600}".


fun rangeGt(column: String, range: String): PostgrestFilterBuilder<T> {

        setSearchParam(column, "sr.${range}")

        return this

    }

https://postgrest.org/en/stable/api.html?highlight=nxl#operators

ponytailer avatar Jan 29 '23 11:01 ponytailer