java.lang.IllegalArgumentException: Illegal URL wi

2020-02-14 04:06发布

问题:

i'm trying to call an api in my application i've the following url template

test-test.domainname.com/feeds/json/v3/attribute/attribute

i'm using retrofit 2 but i get the following fatal exception

Illegal URL: test-test.domainname.com

and this is my interface

public interface Iinterface{
    @GET("feeds/json/v3/attribute/"+attribute)
    Call<ArrayList<result>>getresult();
}

can someone help me with this problem ...

回答1:

my base URL is here: http://myapiname.azurewebservices.net

and feed method is like that :

public interface Iinterface{
   @GET("/feeds/json/v3/attribute/"+attribute)
   Call<ArrayList<result>>getresult();
}

And working perfectly. Please add http or https and try again



回答2:

You do not have a protocol section. Prepend http:// or https:// depending on which applies to your url --

Retrofit retrofit = new Retrofit.Builder()
        .baseUrl("http://test-test.domainname.com")
        // ... other retrofit options
        .build();  


回答3:

In my case, my base url contained space character. (eg. http://myapiname.azure webservices.net )

I fixed this Error by removing space in my base URL.

Illegal URL Exception in retrofit is triggered when your passed url is not really existed or not fix with url standard.