【发布时间】:2018-04-04 08:56:07
【问题描述】:
我想发送一个没有端点的“GET”请求,只是整个 url,但是当我发送我的请求时它不起作用,我只是从我的“onFailure”方法中得到答案。
这是我的网址: http://api.gios.gov.pl/pjp-api/rest/station/findAll(我已经在 Postman 上证明了这个网址,我可以在那里得到正确的回复)
这是我的改造客户:
private static final String BASE_URL = "http://api.gios.gov.pl/pjp-api/rest/station/findAll/";
private static Retrofit retrofit = null;
public static Retrofit getRetrofitClient(String url){
if(retrofit==null){
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
这是界面:
@GET()
Call<ServerResponse> showTheStations(@Url String url);
我在 MainActivity 中的响应方法:
public void retrofitRespond(){
retrofitInterface = ApiUtil.getRetrofitInterface();
retrofitInterface.showTheStations("http://api.gios.gov.pl/pjp-
api/rest/station/findAll").enqueue(new Callback<ServerResponse>() {
@Override
public void onResponse(Call<ServerResponse> call, Response<ServerResponse> response) {
}
@Override
public void onFailure(Call<ServerResponse> call, Throwable t) {
Toast.makeText(getApplicationContext(),"WENT WRONG", Toast.LENGTH_LONG).show();
}
});
我怎样才能正确地做到这一点?我已经阅读了 Retrofit 2 中的动态 url,但我不能正确地做到这一点。
【问题讨论】:
-
你能把错误贴出来吗...?
-
没有错误,我的意思是“public void onFailure”方法正在引起我的反应。我不知道我有哪个 response.code()
-
@Adam 在 onFailure() 中,查看错误添加 Log.e(TAG, t.toString());
-
LOG FROM ONFAILURE - com.google.gson.stream.MalformedJsonException:使用 JsonReader.setLenient(true) 在第 1 行第 1 列路径 $ 接受格式错误的 JSON
-
你从这个 Exception 中明白了什么,也许我不应该使用 Retrofit?