Вы должны использовать URL-кодировку и передать Map в запрос.
@FormUrlEncoded
@GET("/data/search")
fun searchData(@FieldMap searchData: Map<String, String>)
Затем в вашем SearchDataModel
есть метод для добавления свойств к Map<String, String>
и передачи его в функцию searchData
.
data class SearchDataModel (
var keyword: String? = "",
var from: String? = "",
var to: String? = "",
var page: Int? = null,
var sortby: String? = null,
var orderby: String? = null,
var itemsperpage: Int? = null
fun toMap(): Map<String, String> {
return mapOf(
"keyword" to keyword,
"from" to from,
"to" to to,
"page" to page,
"sortby" to sortby,
"orderby" to orderby,
"itemsperpage" to itemsperpage
)
}
)
Используйте это так: searchData(searchData: yourData.toMap())
Удачи:)