作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有这个界面:
public interface InterfazAguaHttp {
@FormUrlEncoded
@POST("/")
Call<String> saveContador(@Field("contador") Long contador, Callback<String> callBack);
}
剩下的代码是这样的:
Retrofit builder = new Retrofit.Builder()
.baseUrl(ValoresGlobales.urlServlet)
.addConverterFactory(GsonConverterFactory.create())
.build();
InterfazAguaHttp interfaz = builder.create(InterfazAguaHttp.class);
Call<String> respuesta = interfaz.saveContador(93847597L, new Callback<String>() {
@Override
public void onResponse(Response<String> response, Retrofit retrofit) {
//Some logging
}
@Override
public void onFailure(Throwable t) {
//Some logging
}
});
这一切都在 try-catch block 中。在捕获中,我收到此错误:
Error: No Retrofit annotation found. (parameter #2) for method InterfazAguaHttp.saveContador
我怎样才能摆脱这个错误,并且仍然有我的回调?
谢谢。
最佳答案
把你的接口(interface)方法改成这个
public interface InterfazAguaHttp {
@FormUrlEncoded
@POST("/")
Call<String> saveContador(@Field("contador") Long contador);
}
其余的代码是这样的
Retrofit builder = new Retrofit.Builder()
.baseUrl(ValoresGlobales.urlServlet)
.addConverterFactory(GsonConverterFactory.create())
.build();
InterfazAguaHttp interfaz = builder.create(InterfazAguaHttp.class);
Call<String> respuesta = interfaz.saveContador(93847597L);
respuesta.enqueue(new Callback<String>() {
@Override
public void onResponse(Response<String> response, Retrofit retrofit) {
//Some logging
}
@Override
public void onFailure(Throwable t) {
//Some logging
}
});
Link供引用
关于android - 错误 : No Retrofit annotation found.(参数 #2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33367769/
我是一名优秀的程序员,十分优秀!