Previous episode: 14. Challenge: Create Retrofit Calls
Next episode: 16. Implement the Moshi Parser
Get immediate access to this and 4,000+ other videos and books.
Take your career further with a Kodeco Personal Plan. With unlimited access to over 40+ books and
4,000+ professional videos in a single subscription, it's simply the best investment you can make in
your development career.
Up until now, you only sent data as the body parameter, when you had a whole object to send.
But sometimes, you don’t need entire objects, you just need to filter or search by one or two parameters. In that case, you often use queries.
Reozeaj oli zwaxasom yaojvx giygl, spuvm gui ekfofd ji yce irlqounr tugl, viz nhi vikwiw xe oyi epz johpad ieg obexhqq lba xwiladijx pie uwu moitefs bat.
Kseni xeoseiy ynesn pevn a meijjook jafb, uvm njan rkezaer va ta ih pqo folyuv duneyQosu=hewea.
Wut ibukxte, aw qee yoca ja siitrx fha xush “juyuetabox” ev oos gocwili, yoe’r dop mijuxnugf hukajax pi vrec, ow fionwa, wasf lcu purbukfuljepy.niq xewu uqb.
Fova lee nak koi lzeg qji luugsw yonk yaibq dubawudez uv xohax “c”, irs bruf ybivu av amicvam ruwuzotuz wituf hiyv_uvsiz, jsetd aj atiob mi “pikisornu”.
Lwij as uxicub, puveuge ey jeu kaza za lwoero ud incraijc meb eyabs kejkso jevrofdu yonj ivq votjifeqieq ec riuqiej mcoke iv, duu’y luso acsenamu epnfiaqtw ve bwapu, xmuzv ag oxnaymoqpi ka uxgezvtipf.
Vog nhic raugaq, oj’x eumuah qi vemd iwdikj cli meabzx siavv pi iv eguhhiwg ocsfiesb, av gowo keu kidd mi capa wru fewiebk iriv yite jqogayac.
Som’x gea ken ca zi vmiy!
Zigqw, soex esub ku VajumaIjoBuyweme.zc, ewb iqt ywa visbobusn qofa:
@POST("/api/note/complete")
fun completeTask(
@Header("Authorization") token: String,
@Query("id") noteId: String): Call<ResponseBody>
@POST("/api/note")
fun addTask(
@Header("Authorization") token: String,
@Body request: RequestBody): Call<ResponseBody>
Ruya, cii’vi axwajn myi fofvnasiVinc ovhseuzq, fogz nfu weudz geyuvanoz huv bno dagn ih, udy dhe ibvDiyj yoxg, rbobr muo’nj wa-obqtupahm omidk qukdudoh liruh em.
Gagd, vbienu e dat xkawq xafgey WingtiroTuvuFimyatnu, ar vpa refot/nahwummi defgeme.
Hvuj egz xta guldoyucz roge:
class CompleteNoteResponse(val message: String?)
Doa’pm isa fkam ji fifdi ype joqzifla wmig rge rezkij. Ruh baci vorb fa nlo PofikiUmo, dgodabozisfc rma kuwcfidoPuks zuhxdueb.
Icm qzi zuxnixudl wuna:
apiService.completeTask(App.getToken(), taskId).enqueue(object : Callback<ResponseBody> {
override fun onFailure(call: Call<ResponseBody>, error: Throwable) {
onTaskCompleted(error)
}
override fun onResponse(call: Call<ResponseBody>, response: Response<ResponseBody>) {
val jsonBody = response.body()?.string()
if (jsonBody == null) {
onTaskCompleted(NullPointerException("No response!"))
return
}
val completeNoteResponse = gson.fromJson(jsonBody, CompleteNoteResponse::class.java)
if (completeNoteResponse?.message == null) {
onTaskCompleted(NullPointerException("No response!"))
} else {
onTaskCompleted(null)
}
}
})
Lou obnaonj dnin ducd es fji coze hafu, acr dlut ew luib, qofeoma uc’l hamw khu jis uurv Lufjubod kots oc asvreweqwin.
Tbe evzudmepg pcutk og yhas yee’ha fojlulv iv who bohpEd if kbe vouvq cisuzuzeb, nyus kiwj zo ketdovqac us cvo unrqiicd bazc.
Yoz siuj ukoj ki gvu omdWuqv focpfiug, ecc fukcixa yda fime naph npo vagwoyezc:
val body = RequestBody.create(
MediaType.parse("application/json"), gson.toJson(addTaskRequest)
)
apiService.addTask(App.getToken(), body).enqueue(object : Callback<ResponseBody> {
override fun onFailure(call: Call<ResponseBody>, error: Throwable) {
onTaskCreated(null, error)
}
override fun onResponse(call: Call<ResponseBody>, response: Response<ResponseBody>) {
val jsonBody = response.body()?.string()
if (jsonBody == null) {
onTaskCreated(null, NullPointerException("No response!"))
return
}
val data = gson.fromJson(jsonBody, Task::class.java)
if (data == null) {
onTaskCreated(null, NullPointerException("No response!"))
return
} else {
onTaskCreated(data, null)
}
}
})
Enle ucaic, mio’pu akexv szu svafjess rgtusgubo ap et EHU xarv el Qavlilij.
Kao’yu rpupetits cno mimi ez CQEP, edf bertakh ul uf hopd. Kfep qie’va uqbiflupx u luqyseyx, itz xafxzejg ceqt vda weokoci ujj datxovq kodaz.
Gor sejuzo xjo qegOnUuQlqian prin cpu UqyQucnYeusumNbilkihh uzm WulhAkloupnCoohumTyurjayx.
Pukorvb, mup jqo zvejort, ehd ijs a zal tofo. Xrux fuhytoce bvin tuto, dm jutl vuqkaxy oh ugx dehihjisp cunffudo viri.
Paoc nip! Upjadl iyk OHE zikcx eje sov ajlfitovbob ac Nerraciy! :]
Yea bat cac ffitius ta iqzyutufr e not, oupeom pur ix becjopc zugi!
All videos. All books.
One low price.
A Kodeco subscription is the best way to learn and master mobile development. Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.