a3adel
a3adel

Reputation: 1263

java.lang.IllegalArgumentException: Illegal URL with retrofit

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 ...

Upvotes: 7

Views: 17760

Answers (4)

thelearner
thelearner

Reputation: 126

By mistake, I provided empty string to baseUrl() so because of this i was getting java.lang.IllegalArgumentException: Illegal URL exception.

Upvotes: 0

ZarNi Myo Sett Win
ZarNi Myo Sett Win

Reputation: 1453

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.

Upvotes: 0

Yasin Ka&#231;maz
Yasin Ka&#231;maz

Reputation: 6663

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

Upvotes: 11

iagreen
iagreen

Reputation: 32026

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();  

Upvotes: 7

Related Questions