Java 如何在改型2.0+;中正确设置注释和查询;?
我无法让它工作,我尝试了其他几种变体,但仍然得到某种形式的异常Java 如何在改型2.0+;中正确设置注释和查询;?,java,android,api,retrofit,Java,Android,Api,Retrofit,我无法让它工作,我尝试了其他几种变体,但仍然得到某种形式的异常 URL query string "q={city}" must not have replace block 公共接口{ @获取(“/weather?q={city}”) 调用getWeather(@Query(“city”)字符串city); } ///// 公共接口{ @获取(“/天气”) 调用getWeather(@Query(“q”)字符串city); } 等等 天气活动 public interface Weath
URL query string "q={city}" must not have replace block
公共接口{
@获取(“/weather?q={city}”)
调用getWeather(@Query(“city”)字符串city);
}
/////
公共接口{
@获取(“/天气”)
调用getWeather(@Query(“q”)字符串city);
}
等等
天气活动
public interface WeatherInterface {
@GET("/weather")
Call<WeatherModel> getWeather(@Query("q") String city);
}
Call Call=weatherInterface.getWeather(““CITYNAME”);
call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
if(response.issusccessful()){
**///第一种变体在此失败**
setText(response.body().getName());
}
**///第二种变体响应失败**
else Log.d(“无响应”、“响应”);
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
日志d(“失败”、“失败”);
}
});
编辑:
Log.d(call.request().url().toString(),“call-request-url”)
我也应该分享我的解决方案,我只是记录了调用url。我忘了在url中添加API密钥。我羞愧地收回了我的问题。我忘了在url中添加API密钥。我羞耻地收回我的问题。你可以用这个例子举例:
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");
}
});
公共接口GitHubClient{
@获取(“/users/{user}/repos”)
呼叫转发器(
@路径(“用户”)字符串用户
);
}
有关更多示例,请访问此您可以使用此示例,例如:
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");
}
});
公共接口GitHubClient{
@获取(“/users/{user}/repos”)
呼叫转发器(
@路径(“用户”)字符串用户
);
}
有关更多示例,请访问此是的,我查看了文档,但显然我的api密钥丢失了。日志还显示了url调用的外观,如果这对任何人都有帮助的话。是的,我查看了文档,但显然我的api密钥丢失了。日志还显示了url调用的外观,如果这对任何人都有帮助的话。
public interface GitHubClient {
@GET("/users/{user}/repos")
Call<List<GitHubRepo>> reposForUser(
@Path("user") String user
);
}