retrofit2中baseUrl和GET组合成完整的url问题

1、如果括号中有参数,则最前面不要加斜杠 “/”
@GET("PageSubArea/TrailerList.api")

2、如果括号中没有参数,则需要加斜杠 “/”
@GET("/")

在使用中.baseUrl("http://api.m.mtime.cn/"),传入的url最后面要加斜杠 “/”不然报错

Retrofit retrofit = new Retrofit.Builder()
//                .baseUrl("http://api.m.mtime.cn/")
                .baseUrl("http://api.m.mtime.cn/PageSubArea/")
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .addConverterFactory(GsonConverterFactory.create())
                .build();

总结:
如果url里没有"?",比如:http://api.m.mtime.cn/PageSubArea/TrailerList.api ,那么.baseUrl和GET有多重组合成完整url,但不要在baseUrl写完整的url否则报错不知道为什么,可能GET中为空有点关系吧。

如果url里有"?",比如:http://op.juhe.cn/onebox/basketball/nba?key=98020a1e920819b8ff4fcfbdd7747f8c ,那么"?"前面的部分最好只保留到''.cn'那里以斜杠结束,.cn后到?前部分最好都写在GET中,?后部分写在方法中作为参数

你可能感兴趣的:(retrofit2中baseUrl和GET组合成完整的url问题)