Retrofit不会通过查询获取数据,但URL会在浏览器中运行

时间:2017-09-23 09:49:45

标签: android retrofit retrofit2

我正在尝试从randomuser.me公共API中获取一些用户,但当我尝试在网址中添加查询时,我无法进行改进。

这是我正在尝试做的请求,如果你把它放在浏览器中,你可以看到这似乎是正确的,因为有效,但在改造方法中我没有任何价值。

https://randomuser.me/api/?results=20

CODE:

mCall = ApplicationConfig.getApiService().getRandomUsers(20);
        Log.e(TAG, mCall.request().url().toString());
        mCall.enqueue(new Callback<RandomUserResponse>() {
            @Override
            public void onResponse(Call<RandomUserResponse> call, Response<RandomUserResponse> response) {

                if (response.isSuccess()) {
                    in.onRandomUserData(response.body().getResults());
                }
            }

            @Override
            public void onFailure(Call<RandomUserResponse> call, Throwable t) {
            }
        });
    }

public interface ApiInterface {

    @GET("api/")
    Call<RandomUserResponse> getRandomUsers(@Query("results") Integer results);
}

public class ApiClient {

    public static final String BASE_URL = "https://randomuser.me/";
    private static Retrofit retrofit = null;


    public static Retrofit getClient() {
        if (retrofit==null) {
            retrofit = new Retrofit.Builder()
                    .baseUrl(BASE_URL)
                    .addConverterFactory(GsonConverterFactory.create())
                    .build();
        }
        return retrofit;
    }
}

如果我尝试这样做......改装方法有效:

@GET("api/")
Call<RandomUserResponse> getRandomUsers();

mCall = ApplicationConfig.getApiService().getRandomUsers();

... ...

我的问题是,¿如果用户在浏览器中添加查询并且有效,我为什么不能让用户添加查询?

0 个答案:

没有答案