这是url:
http://127.0.0.1:8080/GateWay.do?gateWay&SERVICE_TYPE=testData&SCHOOLID=1
如何用Retrofit注解写
@GET("GateWay.do")
Observable<ResponseBody> getTeacherData();
这是url:
http://127.0.0.1:8080/GateWay.do?gateWay&SERVICE_TYPE=testData&SCHOOLID=1
如何用Retrofit注解写
@GET("GateWay.do")
Observable<ResponseBody> getTeacherData();
我试了下,这样是可以的,但是这样?gateWay这部分是静态的,你是需要动态的吗?
@GET("GateWay.do?gateWay")
fun getTeacherData(
@Query("SERVICE_TYPE") serviceType: String,
@Query("SCHOOLID") schoolId: Int
): Observable<BaseResponse<JsonObject>>
日志如下
E/HttpUtil: https://www.wanandroid.com/GateWay.do?gateWay&SERVICE_TYPE=testData&SCHOOLID=12
猜想你可能需要是动态的,进行如下尝试:
@GET("GateWay.do?{gateWay}")
fun getTeacherData(
@Path("gateWay") pathParam:Int,
@Query("SERVICE_TYPE") serviceType: String,
@Query("SCHOOLID") schoolId: Int
): Observable<BaseResponse<JsonObject>>
报错:
URL query string "%s" must not have replace block
跟踪源码,得出结论:
Get请求,url问号后不能包含{xxx}。源码是用正则判断的,满足条件直接抛出异常
所以要么你在okHttp拦截器里处理,要么可以在gradle定义不同的接口环境。