Retrofit2.0 返回 404 not found

Retrofit2.0 is returning 404 not found

 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 未找到。 url 是正确的,我检查过了。 不知道怎么回事

由于 Retrofit 2.0 如何使用 Http Resolve 来解析端点的 uri 方案,如果您像这样指定 baseurl http://hello.com 并将端点 URL 指定为 /world/foo,它将休息。

您需要使用基 URL http://hello.com/ 和端点 URL world/foo

/ 与众不同。

这个问题刚才有人问过,但我回答这个问题是为了以防万一以后有人到达这里。 Retrofit 不像 Web 浏览器或 Postman 那样识别 200 状态代码。它只检测 200 如果你只发送它与空 json 捆绑在一起,否则它就像服务器给它 404 状态代码一样。 例如,在 Express js 中,代码 res.sendStatus(200); 不会让 Retrofit 认为任务已完成,您应该使用类似 res.status(200).send({});

的代码