Поскольку у вас не может быть блока замены в запросе (независимо от того, как вы затем пытаетесь заменить его, использование @Path
также не будет работать с ним), вот способ сделать это вместо этого. Вы можете удалить части запроса из пути, переданного аннотации @POST
:
@Headers("Content-type: multipart/form-data")
@POST("/files/upload")
fun upload(@Query("dir", encoded = true) id: String,
@Body encodedImg: String): Call<IconModel>
И затем вы должны передать все значение параметра запроса при вызове API:
val call = api.upload("userIcons/foo", "bar")
Это приведет к такому вызову, который, я думаю, вам нужен:
/files/upload?dir=userIcons/foo