Модифицировать запрос GET с параметрами JSON - PullRequest
0 голосов
/ 01 марта 2020

Я пытаюсь получить с сервера Parse с помощью Retrofit свой пользовательский объект.

HTTP-запрос будет:

https://MY.SERVER./1/classes/Fiestas?where={"Epoca":{"__type":"Pointer","className":"Epocas","objectId":"myObjectId"}}

Итак, у меня есть этот интерфейс:

@GET("Fiestas?where={\"Epoca\":{\"__type\":\"Pointer\",\"className\":\"Epocas\",\"objectId\":\"{epoca_id}\"}}")
fun getFiestaByEpocaId(@Path("epoca_id") epoca_id: String): Deferred<JSONResponse>

Но я получаю эту ошибку:

java.lang.IllegalArgumentException: URL query string "where={"Epoca":{"__type":"Pointer","className":"Epocas","objectId":"{epoca_id}"}}" must not have replace block. For dynamic query parameters use @Query.
    for method FiestaApi.getFiestaByEpocaId

Кто-то знает какое-либо решение для отправки JSON внутри GET запроса на модернизацию в kotlin?

Спасибо!

1 Ответ

0 голосов
/ 01 марта 2020

Вы можете попробовать это:

@GET("Fiestas")
fun getFiestaByEpocaId(
    @Query("where") jsonString: String
): Call<JSONObject>

Ваш json объект:

val jsonString = "{\"__type\":\"Pointer\",\"className\":\"Epocas\",\"objectId\":\"{epoca_id}\"}}"

И вызовите jsonString.replace ("\", "") перед методом запроса

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