Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://ipAdress/SaveImg/DouBanGirl")
.addConverterFactory(GsonConverterFactory.create())
.build();
imgApi imgService = retrofit.create(imgApi.class);
Call<Img> imgCall = imgService.getImg("20151119");
imgCall.enqueue(new Callback<Img>() {
@Override
public void onResponse(retrofit.Response<Img> response, Retrofit retrofit) {
Log.d(TAG, response.code() + " ");
}
@Override
public void onFailure(Throwable t) {
Log.d(TAG, t.getMessage());
}
});
}
public interface imgApi {
@GET("/DouBanGirl")
Call<Img> getImg(@Query("date") String date);
}
当我尝试这个时,它显示404未找到。网址是正确的,我查了一下。 我不知道发生了什么。
答案 0 :(得分:7)
由于Retrofit 2.0如何使用Http Resolve来解析端点的uri方案,如果您指定像此http://hello.com
这样的baseurl,并将端点URL指定为/world/foo
,它将会中断。
您需要使用基本网址http://hello.com/
和端点网址world/foo
。
/
有所不同。
答案 1 :(得分:0)
这个问题是在不久前问到的,但我回答是为了防止将来有人到达这里。
改造无法像网络浏览器或邮递员那样识别li:not(.selected) select,
li:not(.selected) button {
display: none;
}
状态代码。仅当您发送200
并将其与一个空的json捆绑在一起时,它才会检测到,否则就像服务器为它提供了200
状态码一样。
例如,在Express js中,代码404
并未使Retrofit认为任务已完成,您应该使用类似res.sendStatus(200);