首页 > 解决方案 > 无法从 Binlist API 获取值

问题描述

我无法从 Binlist API 获得任何值并得到一个空响应。我有一个数据类来保存数据我有一个 Api 接口来使用动态 url 和改造构建器然后一个 MainActivity 使用 Call 来显示数据库的结果但不幸的是我得到了空值,它是通过响应

代码

   data class brand(val brand:String)
   data class Scheme(val scheme:String)
   data class Type(val type:String)
   data class Prepaid(val prepaid:Boolean)
   data class Country(val name:String , val emoji:String , val latitude:String , val longitude:String)
   data class Bank(val name:String , val url:String , val phone :String , val city:String)

interface ApiInterface {
   @GET
   fun getNumbre(@Url url:String):Call<Numbre>

   @GET
   fun getBrand(@Url url:String):Call<brand>

   @GET
   fun getScheme(@Url url:String):Call<Scheme>


   companion object {
       fun create(): ApiInterface {
           val retrofit = Retrofit.Builder()
               .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
               .addConverterFactory(GsonConverterFactory.create())
               .baseUrl("https://lookup.binlist.net/")
               .build()

           return retrofit.create(ApiInterface::class.java)
       }

   }  



class MainActivity : AppCompatActivity() {


   private var disposable: Disposable? = null
    val apiInterface: ApiInterface? = null
   private var myCompositeDisposable: CompositeDisposable? = null



   override fun onCreate(savedInstanceState: Bundle?) {
       super.onCreate(savedInstanceState)
       setContentView(R.layout.activity_main)


       btn_search.setOnClickListener {
           if (edit_search.text.toString().isNotEmpty()) {
              loadData(edit_search.text.toString())
           }
       }




   }

   private val ApiServe by lazy {
       ApiInterface.create()
   }



   private fun loadData(searchString: String) {
       ApiServe.getScheme("https://lookup.binlist.net/${searchString}").enqueue(object :Callback<Scheme>{
           override fun onFailure(call: Call<Scheme>, t: Throwable) {
               Toast.makeText(this@MainActivity , "Failed" , Toast.LENGTH_LONG).show()
           }

           override fun onResponse(call: Call<Scheme>, response: Response<Scheme>) {
               Toast.makeText(this@MainActivity , " response ${response.isSuccessful}" , Toast.LENGTH_LONG).show()

           }

       })


   }



}



标签: androidapikotlinretrofit2

解决方案


推荐阅读