我有两个活动,在“第一活动”中,我要对api进行改造

 private fun retrofitConfiguration() {
        retrofit = Retrofit.Builder()
            .baseUrl("https://abhi-debug.github.io/")
            .addConverterFactory(GsonConverterFactory.create())
            .build()
    }


和Api接口-

 interface ApiService {


      @GET("Caption/caption_home.json")
      fun fetchUser() : Call<List<Captions>>


      @GET(" ")
      fun fetchData(): Call<List<Data>>
    }


所以它给了我一个像这样的json-

 [
     {

        "id": 14,
        "title": "Demo",
        "url": "https://abhi-debug.github.io/Caption/demo.json"
     }
    ]


此处的url-“ https://abhi-debug.github.io/Caption/demo.json”将作为下一个活动的Retrofit的BaseUrl传入下一个活动。

private fun retrofitConfiguration() {
        retrofit = Retrofit.Builder()
            .baseUrl(**myUrl**)
            .addConverterFactory(GsonConverterFactory.create())
            .build()
    }


myUrl像这样从(FirstActivity)json中获取-

myUrl = intent.getStringExtra("URL")


在FirstActivity中

 urlForNextActivity[pos] = captionsList[pos].url


  val intent = Intent(context, **SecondActivity**::class.java)
    intent.putExtra("URL", urlForNextActivity[position])
    context.startActivity(intent)


运行时错误


  引起原因:java.lang.IllegalArgumentException:baseUrl必须以/结尾:https://abhi-debug.github.io/Caption/demo.json


注意-https://abhi-debug.github.io/Caption/demo.json是固定的,不能
有/结尾

所以有什么办法可以称呼它

最佳答案

您的baseUrl必须采用https://abhi-debug.github.io/格式。

如果缺少最后一个/(即正斜杠),则会出现错误。

关于java - 如何在baseUrl中调用不带反斜杠的改造,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59084334/

10-10 19:59