Я так понимаю аннотацией POST помечается метод, который должен отправить данные на сайт, вот я понять не могу, у меня что-то отправляется в методе getUserItemPost() или ничего не происходит и он просто в логах выводится?
//интерфейс
@GET("/posts")
fun getCompany(): Call<MutableList<UserItem>>
@POST("posts")
fun getPost(@Body useritem:UserItem):Call<UserItem>
//pojo
data class UserItem(
val body: String,
val id: Int,
val title: String,
val userId: Int
)
//объект
object MyService {
val createConnect = getConnect().create(IApi::class.java)
fun getConnect(): Retrofit {
val retrofit by lazy {
Retrofit
.Builder()
.baseUrl("https://jsonplaceholder.typicode.com/")
.addConverterFactory(GsonConverterFactory.create())
.build()
}
return retrofit
}
}
//получение данных со страницы и вывод в логи
fun doGetRetrofit(){
CoroutineScope(Dispatchers.IO).launch {
val company = mIApi.getCompany()
company.enqueue(object : Callback<MutableList<UserItem>> {
override fun onFailure(call: Call<MutableList<UserItem>>, t: Throwable) {}
override fun onResponse(
call: Call<MutableList<UserItem>>,
response: Response<MutableList<UserItem>>
) {
response.body()?.forEach {
Log.e("Company: ", it.id.toString())
}
}
})
}
}
//пытаюсь отправить данные и вывести их в логи
fun getUserItemPost(){
val post = mIApi.getPost(UserItem("telo",11111,"title",22222))
post.enqueue(object : Callback<UserItem> {
override fun onFailure(call: Call<UserItem>, t: Throwable) {}
override fun onResponse(call: Call<UserItem>, response: Response<UserItem>) {
response.body()?.body?.let { Log.e("///////// OTVET ////////////", it) }
}
})
}
}