URL query string "q={city}" must not have replace block
我无法使用此功能,我已经尝试了其他几种变体,但仍然会遇到某种形式的异常。
public interface WeatherInterface {
@GET("/weather?q={city}")
Call<WeatherModel> getWeather(@Query("city") String city);
}
/////
public interface WeatherInterface {
@GET("/weather")
Call<WeatherModel> getWeather(@Query("q") String city);
}
等等。
WeatherActivity.class
Call<WeatherModel> call = weatherInterface.getWeather("""CITYNAME""");
call.enqueue(new Callback<WeatherModel>() {
@Override
public void onResponse(Call<WeatherModel> call, Response<WeatherModel> response) {
if(response.isSuccessful()) {
**///FIRST VARIANT FAILS HERE**
city.setText(response.body().getName());
}
**///SECOND VARIANT FAILES RESPONSE**
else Log.d("No response", "RESPONSE");
}
@Override
public void onFailure(Call<WeatherModel> call, Throwable t) {
Log.d("fail", "fail");
}
});
编辑: Log.d(call.request()。url()。toString(),&#34; CALL REQUEST URL&#34;);
我也应该分享我的解决方案,我只是记录了呼叫网址。
答案 0 :(得分:0)
我忘记了在网址中添加API KEY。我可耻地撤回了我的问题。
答案 1 :(得分:0)
你可以使用这个样本作为例子:
public interface GitHubClient {
@GET("/users/{user}/repos")
Call<List<GitHubRepo>> reposForUser(
@Path("user") String user
);
}
如需更多样本,请访问此website