Lỗi call api mvvm dùng coroutine

Hello mn e mới học android và đang áp dụng mvvm vào call api thông qua retrofit thì gặp lỗi sau đã thử mọi cách mã vẫn không fix được các a đi qua có thể giúp e với ạ.e cảm ơn ạ!

E muốn là khi post trả về 1 id sau đó phương thức get sẽ nhận id đó là call api ạ. Mà khi chạy thì chỉ post và lấy đc data trả về rồi k vào được hàm get ạ, e có thử comment post set cứng id cho get thì
chạy được kiểu cứ 1 cái chạy dc còn đồng thời thì k chạy đc ý ạ. e mới học mô tả còn hơi lủng củng mn có thể xem code và cho e biết e sai ở đâu hay cho e xin keyword được k ạ. e cảm ơn ạ

interface APIService {
    @Headers("Accept: application/json")
    @POST("generations")
     suspend fun createPrompt(@Body requestPrompt: RequestPrompt): Response<ResponsePrompt>

    @Headers("Accept: application/json")
    @GET("generations/{id}")
    suspend fun getPrompt(@Path("id") id: String): Response<ReponseImagine>
}

class Repository {
     suspend fun createPrompt(requestPrompt: RequestPrompt):Response<ResponsePrompt>{
        return RetrofitClient.APIService.createPrompt(requestPrompt)
    }
     suspend fun getPrompt(id:String):Response<ReponseImagine>{
        return RetrofitClient.APIService .getPrompt(id)
    }
}

class ViewModel(private val Respository: Repository) : ViewModel() {
fun createPrompt() {
        viewModelScope.launch(Dispatchers.IO + exceptionHandler) {
            //pot
            val requestValue = leoRespository.createPrompt( //post
                requestPrompt = RequestPrompt(
                    height = 512,
                    modelId = "6bef9f1b-29cb-40c7-b9df-32b51c1f67d3",
                    prompt = "a dog",
                    width = 512
                )
            )
            val generateId = requestValue.body()!!.sdGenerationJob.generationId
            Log.d("Request Prompt", "generation id: $generateId")
           //get
            val responseValue = Respository.getPrompt(generateId)
            val urlImage =
                responseValue.body()!!.generations_by_pk.generatedImages[0].url.toString()
            Log.d("Url Image", "urlImage : $urlImage")
            UrlResponse.postValue(urlImage)
        }
    }}

// class Fragment:
viewModel.createPrompt()
1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?